我正在使用Eclipse启动Maven /休眠项目,而我的元模型类却遇到了问题。
在处理@Generated
注释的行中,我得到一个红色的x:
import javax.annotation.Generated;
@Generated(value = "org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor")
我已经查看了the documentation,它描述了一个选项addGeneratedAnnotation
:
If set to true the processor will add the @Generated to the generated Java source file. Adding this annotation using JDK 5 will cause a compilation error. In this case set the flag to false. The default for this option is true
我在eclipse中的哪个位置设置该选项?在运行配置?我试过了,只做了一个Maven编译,但是并没有解决。哪个目标将生成新的元模型类。
我很确定我已经正确设置了构建路径和工厂路径。我正在使用Java9。
我的pom.xml文件包含以下内容
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>5.3.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.3.1.Final</version>
</dependency>
更新
我尝试在Maven中运行package
和compile
,但收到版本错误52.0 / 53.0。
has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
我能够通过将编译器级别和项目方面Java级别设置为1.8来解决。
是否可以通过更高版本进行此设置?
答案 0 :(得分:1)
如果您使用的是Maven,则需要导入休眠库
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>{hibernate.version}</version>
<scope>provided</scope>
</dependency>
用于gradle
org.hibernate:hibernate-core:5.4.1.Final
或手动将休眠库添加到您的项目中
答案 1 :(得分:0)
尝试在您的pom.xml中添加此Maven依赖项
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>{hibernate.version}</version>
<scope>provided</scope>
</dependency>
之后,删除类的@Generated并执行:
mvn package
Modelgen将在target / ...中生成您的元模型。
生成元模型的本地应该在您的类路径中。