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

升级Spring Boot 3与Java 17后JPA Metamodel源码无法生成求助

Spring Boot 3.0 + Java 17 下 hibernate-jpamodelgen 元模型生成问题解决办法
  • 补全依赖配置
    Spring Boot 3.0对应Hibernate 6.x版本,hibernate-jpamodelgen需要指定provided作用域才能触发注解处理器工作,修正后的Maven依赖如下:

    <dependency>
        <groupId>org.hibernate.orm</groupId>
        <artifactId>hibernate-jpamodelgen</artifactId>
        <scope>provided</scope>
    </dependency>
    

    若使用Gradle,需直接配置为注解处理器依赖:

    annotationProcessor 'org.hibernate.orm:hibernate-jpamodelgen'
    
  • 适配Java 17模块系统
    如果项目使用了JPMS模块(存在module-info.java),需要在模块声明中添加:

    // 引入jpamodelgen模块
    requires org.hibernate.orm.jpamodelgen;
    // 开放实体类包给Hibernate及注解处理器
    opens com.yourproject.entities to org.hibernate.orm.core, org.hibernate.orm.jpamodelgen;
    
  • 检查IDE注解处理器开关

    • IntelliJ IDEA:进入设置 -> 构建、执行、部署 -> 编译器 -> 注解处理器,勾选启用注解处理,确认hibernate-jpamodelgen被列入已检测的处理器列表。
    • Eclipse:进入项目属性 -> Java编译器 -> 注解处理,勾选启用注解处理,并在工厂路径中添加hibernate-jpamodelgen的jar包。
  • 确认实体类注解规范
    Spring Boot 3.0全面切换到Jakarta EE API,实体类的JPA注解必须来自jakarta.persistence包(如@Entity、@Id),不能再使用旧的javax.persistence包下的注解,否则注解处理器无法识别实体类。

内容的提问来源于stack exchange,提问作者java-spring

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:39:55