IntelliJ IDEA无法生成JPA Hibernate Metamodel类该如何解决?
解决IDEA下Hibernate JPA Metamodel类不生成的方案
方案1:补全Maven编译插件的注解处理器配置
多数情况下生成失败是因为未在maven编译插件中显式指定注解处理器,在pom.xml中添加如下配置即可:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <!-- 改成你项目对应的JDK版本 --> <target>1.8</target> <annotationProcessorPaths> <path> <groupId>org.hibernate</groupId> <artifactId>hibernate-jpamodelgen</artifactId> <version>5.3.7.Final</version> </path> <!-- 如果项目同时用了Lombok,需要额外添加下面的配置 --> <!-- <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>你的Lombok版本号</version> </path> --> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>
配置完成后可以把原来的hibernate-jpamodelgen的依赖scope设为provided,避免冗余依赖打入最终包。
方案2:手动标记生成目录为源码根目录
IDEA未自动识别生成目录为源码目录时也会报找不到符号错误:
- 找到项目下的
my-project\target\generated-sources\annotations目录 - 右键点击该目录,选择 Mark Directory as -> Generated Sources Root
方案3:清理IDEA缓存重启
IDEA缓存异常会导致注解处理器不生效:
- 点击顶部菜单栏
File -> Invalidate Caches... - 勾选
Clear file system cache and local history - 点击
Invalidate and Restart重启IDEA,重启后重新构建项目
方案4:检查实体类配置
元模型只会为加了@Entity注解的JPA实体类生成对应类,确认:
- 所有需要生成元模型的实体类都正确添加了
@Entity注解 - 实体类所在包在JPA的扫描路径范围内,没有被排除
方案5:用Maven命令触发构建
如果IDEA内置构建始终不生效,直接在项目根目录终端执行命令:
mvn clean compile
执行完成后检查对应目录下是否生成元模型类,如果命令行可正常生成,确认IDEA使用的Maven版本、settings配置和本地命令行使用的一致即可。
内容的提问来源于stack exchange,提问作者user17186249
相关产品推荐
相关产品推荐

