Hibernate> 3.3和c3p0

时间:2010-11-29 13:03:06

标签: hibernate connection-pooling c3p0

由于c3p0似乎不再与Hibernate捆绑在一起(从版本> 3.3开始,我使用的是Hibernate 3.6.0),我想知道如何将c3p0与Hibernate集成。

显然是采用

的旧方法
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>

似乎不再起作用了,因为Hibernate不再提供类C3P0ConnectionProvider。我现在必须自己构建这个或者是否可以安全地集成hibernate-c3p0-3.3.x.jar?

注意:我使用的是裸Hibernate,没有Spring等。

2 个答案:

答案 0 :(得分:2)

我在hibernate.cfg.xml中使用以下内容:

<!-- c3p0 config http://www.hibernate.org/214.html -->
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>        
<property name="hibernate.c3p0.acquire_increment">1</property>
<property name="hibernate.c3p0.idle_test_period">60</property>
<property name="hibernate.c3p0.min_size">1</property>
<property name="hibernate.c3p0.max_size">2</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.timeout">0</property>
<property name="hibernate.c3p0.acquireRetryAttempts">1</property>
<property name="hibernate.c3p0.acquireRetryDelay">250</property>

我使用最新的hibernate(目前为3.6.0 GA),并且我已经包含在类路径c3p0-0.9.1.2.jar中(目前最新的)。一切都按预期工作。

答案 1 :(得分:0)

也许你需要 hibernate-c3po-3..jar

<!-- Hibernate c3p0 connection pool -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>3.6.3.Final</version>
</dependency>