ClassCastException HikariCPConnectionProvider 无法转换为 Hibernate ConnectionProvider
ClassCastException HikariCPConnectionProvider cannot be cast to Hibernate ConnectionProvider
我是第一次尝试 HikariCP
。我正面临以下 ClassCastException
.
ClassCastException: org.hibernate.hikaricp.internal.HikariCPConnectionProvider 无法转换为 org.hibernate.service.jdbc.connections.spi.ConnectionProvider
更新:我也试过 com.zaxxer.hikari.hibernate.HikariConnectionProvider,但得到了同样的异常。
这是我在 persistence.xml
中的配置
<properties>
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
<property name="hibernate.hikari.minimumIdle" value="5" />
<property name="hibernate.hikari.maximumPoolSize" value="10" />
<property name="hibernate.hikari.idleTimeout" value="30000" />
<property name="hibernate.hikari.dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" />
<property name="hibernate.hikari.dataSource.url" value="jdbc:mysql://localhost:3306/mydb" />
<property name="hibernate.hikari.dataSource.user" value="dbusr" />
<property name="hibernate.hikari.dataSource.password" value="pwd" />
</properties>
我正在使用以下 Hibernate 和 HikariCP 版本。
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.4.5</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-hikaricp</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
</dependency>
尝试替换
<property name="hibernate.connection.provider_class"
value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
来自
property name="hibernate.connection.provider_class"
value="com.zaxxer.hikari.hibernate.HikariConnectionProvider"
另请参阅 Hibernate 5 + HikariCP + MySQL 了解另一个人使用 Hikari 和 Hibernate5 的设置。
很抱歉过了这么久才回答我自己的问题。
我遇到这个问题是因为我试图升级各种 hibernate 和 hikari 库版本,这导致我的 maven build 目标文件夹有多个版本的 hibernate 和 hikari 导致错误的版本被拾取。清理目标并修复几个 pom 文件后,问题得到解决。
从那时起,Hikari 一直做得很好,而且它在检测泄漏连接方面也很有帮助。
我是第一次尝试 HikariCP
。我正面临以下 ClassCastException
.
ClassCastException: org.hibernate.hikaricp.internal.HikariCPConnectionProvider 无法转换为 org.hibernate.service.jdbc.connections.spi.ConnectionProvider
更新:我也试过 com.zaxxer.hikari.hibernate.HikariConnectionProvider,但得到了同样的异常。
这是我在 persistence.xml
<properties>
<property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
<property name="hibernate.hikari.minimumIdle" value="5" />
<property name="hibernate.hikari.maximumPoolSize" value="10" />
<property name="hibernate.hikari.idleTimeout" value="30000" />
<property name="hibernate.hikari.dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" />
<property name="hibernate.hikari.dataSource.url" value="jdbc:mysql://localhost:3306/mydb" />
<property name="hibernate.hikari.dataSource.user" value="dbusr" />
<property name="hibernate.hikari.dataSource.password" value="pwd" />
</properties>
我正在使用以下 Hibernate 和 HikariCP 版本。
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.4.5</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-hikaricp</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
</dependency>
尝试替换
<property name="hibernate.connection.provider_class"
value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
来自
property name="hibernate.connection.provider_class"
value="com.zaxxer.hikari.hibernate.HikariConnectionProvider"
另请参阅 Hibernate 5 + HikariCP + MySQL 了解另一个人使用 Hikari 和 Hibernate5 的设置。
很抱歉过了这么久才回答我自己的问题。 我遇到这个问题是因为我试图升级各种 hibernate 和 hikari 库版本,这导致我的 maven build 目标文件夹有多个版本的 hibernate 和 hikari 导致错误的版本被拾取。清理目标并修复几个 pom 文件后,问题得到解决。 从那时起,Hikari 一直做得很好,而且它在检测泄漏连接方面也很有帮助。