You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级org.hibernate:hibernate-core后出现类找不到异常(Java11环境)

解决Hibernate 6.2.0.CR2升级后缺失jakarta.persistence.spi.PersistenceProvider的问题

问题原因

Hibernate 6.x版本已全面切换至Jakarta EE规范,不再使用Java EE时代的javax.persistence包,转而采用jakarta.persistence。而你之前使用的Hibernate 5.6.14.Final基于旧的Java EE规范,升级后项目缺少Jakarta Persistence API的依赖,导致触发NoClassDefFoundError和ClassNotFoundException。

解决步骤

  • 添加Jakarta Persistence API依赖
    根据项目构建工具添加对应依赖:
    Maven(pom.xml):

    <dependency>
        <groupId>jakarta.persistence</groupId>
        <artifactId>jakarta.persistence-api</artifactId>
        <version>3.1.0</version> <!-- 适配Hibernate 6.2.x,版本可按需调整 -->
    </dependency>
    

    Gradle(build.gradle):

    implementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
    
  • 检查并升级其他JPA相关依赖
    确保项目中所有与JPA相关的依赖(如Spring Data JPA等)都已升级到支持Jakarta规范的版本,避免新旧依赖冲突。比如使用Spring Boot的话,需要升级到3.x版本才能适配Jakarta规范。

  • 替换代码中的包引用
    全局替换代码里的import javax.persistence.*;为import jakarta.persistence.*;,覆盖所有实体类、Repository接口及其他使用JPA注解的代码文件。

内容的提问来源于stack exchange,提问作者vaishali jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 15:15:38