我正在使用 Hibernate 4.1.6Final 来访问 JPA 数据源。通过 c3p0 添加连接池时,我遇到了以下日志消息:
611 [main] WARN org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator - HHH000208: org.hibernate.connection.C3P0ConnectionProvider has been deprecated in favor of org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider; that provider will be used instead.
以下是我的 POM 中的 hibernate 工件:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.1.6.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>4.1.6.Final</version>
</dependency>
以及来自persistence.xml
的相关属性:
<property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" />
<property name="hibernate.c3p0.max_size" value="100" />
<property name="hibernate.c3p0.min_size" value="5" />
<property name="hibernate.c3p0.acquire_increment" value="5" />
<property name="hibernate.c3p0.idle_test_period" value="500" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.timeout" value="10000" />
即使我将提供程序的名称更改为喜欢的类,我也会收到相同的警告。 hibernate.connection.provider_class
使用的正确类名是什么?是否有除 c3p0 之外的用于生产用途的首选连接提供程序?
最佳答案
我观察到同样的警告有一段时间了,没有看到对我的应用程序的功能或性能有任何影响。但今天我决定将 persistence.xml 中的条目(如警告消息本身所述)切换为:
<!-- C3p0 connection pooling configuration -->
<property name="hibernate.connection.provider_class" value="org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider"/>
这解决了问题;我也在使用4.1.6Final。
关于java - hibernate、jpa、c3p0 和警告 HHH000208,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076572/