Hibernate JPA @ Сгенерирована ошибка компиляции аннотации - PullRequest
0 голосов
/ 14 февраля 2019

Я запускаю проект maven / hibernate, используя eclipse, и у меня возникла проблема с моими классами метамоделей.

Я получаю красный крестик для строк, связанных с аннотацией @Generated:

import javax.annotation.Generated;
@Generated(value = "org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor")

Я просмотрел документацию , и в ней описывается опция 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

где мне установить эту опцию в затмении?В рабочем конфиге?Я попробовал это сделать, выполнив только maven-компиляцию, но это не помогло.Какая maven цель будет генерировать новые классы метамодели.

Я почти уверен, что правильно настроил путь сборки и путь к фабрике.Я использую java 9.

В моем файле 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>

обновление

Я попытался запустить package и compile в maven, но получала ошибку версии 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.

Есть ли способ настроить его на более поздние версии?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

вам нужно импортировать библиотеку hibernate, если вы используете 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

или добавить библиотеку hibernate в свой проект вручную

0 голосов
/ 14 февраля 2019

Попробуйте добавить эту maven-зависимость в ваш pom.xml

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-jpamodelgen</artifactId>
    <version>{hibernate.version}</version>
    <scope>provided</scope>
</dependency>

После этого удалите @Generated ваших классов и выполните:

 mvn package

Modelgen сгенерирует вашу метамодель вtarget /...

Локальная область, где сгенерирована метамодель, должна находиться в вашем пути к классам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...