IDEA生成JPA实体类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA生成JPA实体类相关的知识,希望对你有一定的参考价值。

参考技术A 新建springboot工程,截图如下:

建工程时选择JPA模块

Database中配置mysql连接

填写mysql连接信息

打开view视图

打开persistence

生成的实体类如下

2022-03-16

Gradle配置IDEA正常识别JPA Metamodel Generator动态生成的代码

我们在使用JPA动态查询构建查询条件时,为了实现安全的类型检查,常常需要引用Hibernate JPA Metamodel Generator自动为我们生成静态元模型类。

而这些类由于编译时由Hibernate JPA Metamodel Generator自动生成在其他路径下,IDEA默认无法自动识别这些“特别”的类,所以IDEA中的JPA动态查询相关代码常常会出现编译错误。

如果你使用的是Gradle构建工具,只需在构建脚本中添加如下内容即可解决此类问题啦。

build.gradle添加的配置如下:

// 所有自动生成的代码(比如JPAMetaModelEntityProcessor自动生成的代码等)都统一存放到build/generated目录下
// 同时将该目录添加到main SourceSets中,以便IDEA可以识别
compileJava {
    options.compilerArgs << "-s"
    options.compilerArgs << "$projectDir/build/generated"
    doFirst {
        file(new File("$projectDir/build/generated")).mkdirs()
    }
}
sourceSets.main.java.srcDirs += "$projectDir/build/generated"

 

执行gradle clean build之后,再次用IDEA打开工程,编译问题就都解决啦。

以上是关于IDEA生成JPA实体类的主要内容,如果未能解决你的问题,请参考以下文章

idea连接mysql自动生成实体类

idea连接mysql自动生成实体类

IDEA连接数据库生成实体类方法与定制Groovy生成脚本

Spring Data JPA中使用QueryDSL进行查询

如何从 JPA 注释的实体类生成 JPA 映射文件?

从 JPA 注释的实体类自动生成数据模式