Hibernate/Spring框架中的TestConnectionOnCheckin c3p0配置属性

Hibernate/Spring框架中的TestConnectionOnCheckin c3p0配置属性,hibernate,spring,c3p0,entitymanager,Hibernate,Spring,C3p0,Entitymanager,我想为c3p0设置TestConnectionOnOnCheckin属性 但是,我在这样做时遇到了麻烦,因为c3p0数据源是代表我在hibernate实体管理器bean中创建的 <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitManager" ref=

我想为c3p0设置TestConnectionOnOnCheckin属性

但是,我在这样做时遇到了麻烦,因为c3p0数据源是代表我在hibernate实体管理器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>

${taxeng.entityManagerFactory.dialogue}
${taxeng.entityManagerFactory.ddl}
${taxeng.entityManagerFactory.cache}
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
${taxeng.hibernate.c3p0.min_size}
${taxeng.hibernate.c3p0.max_size}
${taxeng.hibernate.c3p0.timeout}
${taxeng.hibernate.c3p0.acquire_increment}
${taxeng.hibernate.c3p0.idle\u test\u period}
${taxeng.hibernate.c3p0.max_语句}
假的
其中,
中的每一个都是hibernate配置键,hibernate使用该键代表我创建c3p0数据源

但是,我找不到将设置c3p0数据源的TestConnectionsOnCheckkin属性的hibernate配置键

有这样的钥匙吗?如果没有,那么我应该直接设置EntityManager数据源吗?在这样做之前,我应该知道哪些技巧吗


注意:testConnectionsOnCheckout不是一个可行的选项,它有相应的hibernate配置键。

只有c3p0属性的一个子集可以像这样被覆盖:


对于其他需要在c3p0中重写的属性(包括TestConnectionsOnCheckkin)。属性

最新文档(上面的链接)也允许在c3p0道具前面加上hibernate.c3p0.XXX。因此,您将拥有:hibernate.c3p0.testconnectionsoncheckout这不是我阅读文档的方式。所有参数都可以在Hibernate中指定。如果在属性中也定义了c3p0.properties,则其中一些属性将重写这些属性。