我想爲c3p0設置testConnectionOnCheckin屬性。TestConnectionOnCheckin c3p0 Hibernate/Spring Framework中的配置屬性
但是我遇到了麻煩,因爲c3p0數據源是在我的hibernate entity-manager bean中創建的。
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitManager" ref="persistenceUnitManager" />
<property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence" />
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">${taxeng.entityManagerFactory.dialect}</prop>
<prop key="hibernate.hbm2ddl.auto">${taxeng.entityManagerFactory.ddl}</prop>
<prop key="hibernate.cache.provider_class">${taxeng.entityManagerFactory.cache}</prop>
<!-- Note that we use this due to the "ClassNotFoundException: org.hibernate.hql.ast.HqlToken" issue -->
<prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
<!-- Database connection pooling -->
<prop key="hibernate.c3p0.min_size">${taxeng.hibernate.c3p0.min_size}</prop>
<prop key="hibernate.c3p0.max_size">${taxeng.hibernate.c3p0.max_size}</prop>
<prop key="hibernate.c3p0.timeout">${taxeng.hibernate.c3p0.timeout}</prop>
<prop key="hibernate.c3p0.acquire_increment">${taxeng.hibernate.c3p0.acquire_increment}</prop>
<prop key="hibernate.c3p0.idle_test_period">${taxeng.hibernate.c3p0.idle_test_period}</prop>
<prop key="hibernate.c3p0.max_statements">${taxeng.hibernate.c3p0.max_statements}</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
這裏每個<prop key...1
>的是,其與創建代表我一個C3P0數據源休眠休眠配置密鑰。
但是,我找不到將設置c3p0數據源的testConnectionsOnCheckin屬性的hibernate配置鍵。
有沒有這樣的鑰匙?如果不是,那麼我應該直接設置entityManagers數據源,並且在執行此操作之前是否有任何技巧我應該知道?
注意:testConnectionsOnCheckout不是一個可行的選項,它有一個相應的休眠配置密鑰。
最新文檔(以上鍊接)也允許在hibernate.c3p0.XXX前綴C3P0道具。所以你應該有:hibernate.c3p0.testConnectionsOnCheckout – 2013-10-03 09:26:18
這不是我閱讀文檔的方式。所有參數都可以在Hibernate中指定。其中一些將覆蓋c3p0.properties,如果它們也在屬性中定義的話。 – JRun 2014-03-08 13:30:04