簡體   English   中英

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結合使用。

很抱歉,我過了很長時間才回答自己的問題。 我遇到了這個問題,因為我試圖升級各種休眠和Hikari庫版本,這導致我的Maven構建目標文件夾具有多個版本的休眠和Hikari,導致錯誤的版本被提取。 清理目標並修復少量pom文件后,此問題已解決。 從那時起,Hikari一直表現良好,並且對於檢測泄漏連接非常有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM