Hibernate c3p0 配置没有影响

Hibernate c3p0 configuration has no affect

我正在尝试将 c3p0 连接池添加到我们现有的休眠配置中。 但它没有影响,hibernate 仍然使用默认池。 仅 Hibernate 配置就可以正常工作,所以我绝对确定它没有问题。

想知道这里是否有人可以指出我的错误或建议我如何调试问题?

我不使用 Spring 框架。

<hibernate-configuration>
<session-factory>

<property name="hibernate.connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
    <property name="hibernate.connection.password">passwd</property>
    <property name="hibernate.connection.url">jdbc:db2://server:port/database</property>
    <property name="hibernate.connection.username">username</property>

    <property name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
    <property name="hibernate.connection.autocommit">false</property>
    <property name="hibernate.current_session_context_class">thread</property>
    <property name="hibernate.default_schema">DB Schema</property>
    <property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>
    <property name="hibernate.format_sql">false</property>
    <property name="hibernate.max_fetch_depth">4</property>
    <property name="hibernate.search.autoregister_listeners">false</property>
    <property name="hibernate.show_sql">false</property>
    <property name="hibernate.connection.isolation">1</property>
    <property name="hibernate.jdbc.batch_size">50</property>

<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">3000</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.idle_test_period">900</property>

<mapping resource="table.hbm.xml" />

</session-factory>
</hibernate-configuration>

这是我的罐子:

hibernate3.jar
hibernate-c3p0-3.5.0-Final.jar

日志中的语句:

hibernate.cfg.Environment - Hibernate 3.5.0-Final
INFO  ManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
INFO  ManagerConnectionProvider - Hibernate connection pool size: 20

尝试从 c3p0 配置连接提供程序 class。

<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>

此外,最好添加 hibernate 配置文档类型,这将有助于查找任何拼写错误。

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

更新 您需要在 class 路径中包含 mchange 库。这 link 可能对您有所帮助。