c3p0 の testConnectionOnCheckin プロパティを設定したいと思います。
ただし、休止状態のエンティティ マネージャー Bean 内で c3p0 データソースが作成されているため、これを行うのに問題があります。
<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 構成キーがあります。