Spring + c3p0

Pessoal estou passando por um problema aqui na empresea gostaria de saber se alguém já passou pelo mesmo caso.

Tenho que disparar uma Stored Procedure no banco Oracle, a conexão é feita via hibernate mas a busca por esse caso em especifico é feito via :

view plainprint?

  1. Session session = this.getSessionFactory().getCurrentSession();
  2. CallableStatement call = session.connection().prepareCall(sql);

Session session = this.getSessionFactory().getCurrentSession(); CallableStatement call = session.connection().prepareCall(sql);

O probelma é o seguinte, para disparar uma procedure simples faz normalmente, porém, quan eu preciso que me seja retornado dados o pool de conexão nao me da assistência, esta configurado no AplicationContext assim:
view plainprint?

  1. <bean id=“dataSource” class=“com.mchange.v2.c3p0.ComboPooledDataSource” destroy-method=“close”>
  2.  &lt;property name="driverClass" value="OracleDriver"/&gt;  
    
  3.  &lt;property name="jdbcUrl" value="orades"/&gt;  
    
  4.  &lt;property name="user" value="Projeto"/&gt;  
    
  5.  &lt;property name="password" value="*****"/&gt;  
    
  6. </bean>
  7. <bean id=“sessionFactory” class=“org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
  8. <property name=“mappingDirectoryLocations”>
  9. <list>
  10. &lt;value&gt;classpath:*****&lt;/value&gt;  
    
  11.          &lt;value&gt;classpath:*****&lt;/value&gt;  
    
  12. &lt;value&gt;classpath:******&lt;/value&gt;  
    
  13. </list>
  14. </property>
  15. <property name=“hibernateProperties”>
  16. <props>
  17.   &lt;prop key="hibernate.c3p0.max_size"&gt;500&lt;/prop&gt;  
    
  18.   &lt;prop key="hibernate.c3p0.min_size"&gt;20&lt;/prop&gt;  
    
  19.   &lt;prop key="hibernate.c3p0.timeout"&gt;50000&lt;/prop&gt;  
    
  20.   &lt;prop key="hibernate.c3p0.max_statements"&gt;500&lt;/prop&gt;  
    
  21.   &lt;prop key="hibernate.c3p0.idle_test_period"&gt;30000&lt;/prop&gt;  
    
  22.   &lt;prop key="hibernate.c3p0.acquire_increment"&gt;20&lt;/prop&gt;  
    
  23.   &lt;prop key="hibernate.generate_statistics"&gt;true&lt;/prop&gt;  
    
  24.   &lt;prop key="hibernate.use_sql_comments"&gt;false&lt;/prop&gt;  
    
  25.   &lt;prop key="hibernate.c3p0.initial_pool_size"&gt;4&lt;/prop&gt;  
    
  26.   &lt;prop key="hibernate.c3p0.min_pool_size"&gt;2&lt;/prop&gt;  
    
  27.   &lt;prop key="hibernate.c3p0.max_pool_size"&gt;25&lt;/prop&gt;  
    
  28.             &lt;!--&lt;prop key="hibernate.hbm2ddl.auto"&gt;none&lt;/prop&gt;--&gt;  
    
  29.             &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.Oracle9Dialect&lt;/prop&gt;  
    
  30. &lt;prop key="hibernate.show_sql"&gt;true&lt;/prop&gt;  
    
  31. &lt;prop key="hibernate.cglib.use_reflection_optimizer"&gt;true&lt;/prop&gt;  
    
  32. &lt;prop key="hibernate.cache.provider_class"&gt;org.hibernate.cache.HashtableCacheProvider&lt;/prop&gt;  
    
  33. </props>
  34. </property>
  35. <property name=“dataSource”>
  36. <ref bean=“dataSource”/>
  37. </property>
  38. </bean>
  39. &lt;bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&gt;  
    
  40.      &lt;property name="nestedTransactionAllowed"&gt;  
    
  41.            &lt;value&gt;true&lt;/value&gt;  
    
  42.     &lt;/property&gt;  
    
  43.     &lt;property name="sessionFactory"&gt;&lt;ref local="sessionFactory"/&gt;&lt;/property&gt;  
    
  44.     &lt;property name="jdbcExceptionTranslator"&gt;&lt;ref bean="jdbcExceptionTranslator"/&gt;&lt;/property&gt;  
    
  45. &lt;/bean&gt;  
    
  46. &lt;bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate"&gt;  
    
  47.     &lt;property name="transactionManager"&gt;&lt;ref bean="transactionManager"/&gt;&lt;/property&gt;  
    
  48. &lt;/bean&gt;  
    
  49. &lt;bean id="errorCode" class="exception.MySqlErrorCode" /&gt;  
    
  50. &lt;bean id="constantes" class="ConstantesOracle" /&gt;  
    
  51. <!-- <bean id=“constantes” class=".util.ConstantesSQLServer" /> -->
  52. &lt;bean id="jdbcExceptionTranslator" class="exception.MySQLErrorCodesTranslator"&gt;  
    
  53.    &lt;property name="arquivoMensagens"&gt;&lt;value&gt;mensagensCce.properties&lt;/value&gt;&lt;/property&gt;  
    
  54.   &lt;property name="constantes"&gt;&lt;ref bean="constantes"/&gt;&lt;/property&gt;  
    
  55.     &lt;property name="dataSource"&gt;&lt;ref bean="dataSource"/&gt;&lt;/property&gt;  
    
  56.     &lt;property name="sqlErrorCodes"&gt;&lt;ref bean="errorCode"/&gt;&lt;/property&gt;  
    
  57. &lt;/bean&gt;  
    
  58. &lt;bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"&gt;  
    
  59. <property name=“sessionFactory”><ref bean=“sessionFactory”/></property>
  60. <property name=“jdbcExceptionTranslator”><ref bean=“jdbcExceptionTranslator”/></property>
  61. </bean>
  62. <bean name=“mensagemSucesso” class=“java.lang.String”><constructor-arg><value>Operação realizada com sucesso.</value></constructor-arg></bean>
  63. <bean name=“arquivoMensagens” class=“java.lang.String”><constructor-arg><value>Projeto</value></constructor-arg></bean>
  64. <bean name=“email” class=“java.lang.String”><constructor-arg><value>mail.properties</value></constructor-arg></bean>

<bean id=“dataSource” class=“com.mchange.v2.c3p0.ComboPooledDataSource” destroy-method=“close”> <property name=“driverClass” value=“OracleDriver”/> <property name=“jdbcUrl” value=“orades”/> <property name=“user” value=“Projeto”/> <property name=“password” value=“"/> </bean> <bean id=“sessionFactory” class=“org.springframework.orm.hibernate3.LocalSessionFactoryBean”> <property name=“mappingDirectoryLocations”> <list> <value>classpath:</value> <value>classpath:</value> <value>classpath:*</value> </list> </property> <property name=“hibernateProperties”> <props> <prop key=“hibernate.c3p0.max_size”>500</prop> <prop key=“hibernate.c3p0.min_size”>20</prop> <prop key=“hibernate.c3p0.timeout”>50000</prop> <prop key=“hibernate.c3p0.max_statements”>500</prop> <prop key=“hibernate.c3p0.idle_test_period”>30000</prop> <prop key=“hibernate.c3p0.acquire_increment”>20</prop> <prop key=“hibernate.generate_statistics”>true</prop> <prop key=“hibernate.use_sql_comments”>false</prop> <prop key=“hibernate.c3p0.initial_pool_size”>4</prop> <prop key=“hibernate.c3p0.min_pool_size”>2</prop> <prop key=“hibernate.c3p0.max_pool_size”>25</prop> <!–<prop key=“hibernate.hbm2ddl.auto”>none</prop>–> <prop key=“hibernate.dialect”>org.hibernate.dialect.Oracle9Dialect</prop> <prop key=“hibernate.show_sql”>true</prop> <prop key=“hibernate.cglib.use_reflection_optimizer”>true</prop> <prop key=“hibernate.cache.provider_class”>org.hibernate.cache.HashtableCacheProvider</prop> </props> </property> <property name=“dataSource”> <ref bean=“dataSource”/> </property> </bean> <bean id=“transactionManager” class=“org.springframework.orm.hibernate3.HibernateTransactionManager”> <property name=“nestedTransactionAllowed”> <value>true</value> </property> <property name=“sessionFactory”><ref local=“sessionFactory”/></property> <property name=“jdbcExceptionTranslator”><ref bean=“jdbcExceptionTranslator”/></property> </bean> <bean id=“transactionTemplate” class=“org.springframework.transaction.support.TransactionTemplate”> <property name=“transactionManager”><ref bean=“transactionManager”/></property> </bean> <bean id=“errorCode” class=“exception.MySqlErrorCode” /> <bean id=“constantes” class=“ConstantesOracle” /> <!-- <bean id=“constantes” class=”.util.ConstantesSQLServer" /> --> <bean id=“jdbcExceptionTranslator” class=“exception.MySQLErrorCodesTranslator”> <property name=“arquivoMensagens”><value>mensagensCce.properties</value></property> <property name=“constantes”><ref bean=“constantes”/></property> <property name=“dataSource”><ref bean=“dataSource”/></property> <property name=“sqlErrorCodes”><ref bean=“errorCode”/></property> </bean> <bean id=“hibernateTemplate” class=“org.springframework.orm.hibernate3.HibernateTemplate”> <property name=“sessionFactory”><ref bean=“sessionFactory”/></property> <property name=“jdbcExceptionTranslator”><ref bean=“jdbcExceptionTranslator”/></property> </bean> <bean name=“mensagemSucesso” class=“java.lang.String”><constructor-arg><value>Operação realizada com sucesso.</value></constructor-arg></bean> <bean name=“arquivoMensagens” class=“java.lang.String”><constructor-arg><value>Projeto</value></constructor-arg></bean> <bean name=“email” class=“java.lang.String”><constructor-arg><value>mail.properties</value></constructor-arg></bean>

Se alguém passou por esse problema poderia me ajudar por favor?

Ibimon Pereira Morais

Opa,

tente usar o getSession().executeSQL(“sua consulta”);

:okok: