У меня возникла эта супер раздражающая проблема с моим hibernate / jpa-приложением, которое я разрабатываю с использованием maven и редактирования в eclipse.
У меня настроено местоположение цели / метамодели в Свойства> Компилятор> Обработка аннотаций, и все работает нормально, за исключением одного класса, где класс метамодели содержит только идентификатор.
Вот сущность:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String username;
private String password;
@Transient
private Authorization authorization;
// getters/setters omitted, but I do have them in the entity class
}
, а вот класс метамодели
@Generated(value="Dali", date="2019-06-22T11:49:45.797-0400")
@StaticMetamodel(User.class)
public class User_ {
public static volatile SingularAttribute<User, Integer> id;
}
Эта проблема only возникает в классе User,все остальные классы в порядке.Я получаю ошибки компиляции в моем DAO, где я пытаюсь получить пользователя с именем пользователя / pw, и эти поля не существуют в классе метамодели.
Есть идеи, что могло бы вызвать это?Работает на Linux, компилятор установлен на 1,8.спасибо
обновление
В итоге я решил ее, добавив запись для сущности в файле persistence.xml
<class>com.mypack.model.User</class>
Я прошел процесс создания сущности ивыполнять сохранение, обновление, удаление и получение по идентификатору функций без использования записей persistence.xml.Я думаю, что начал с нескольких, обнаружил, что они мне не нужны, и прокомментировал их.
Теперь, когда я пытаюсь создать построитель критериев / корень / запрос и т. Д., Я сталкиваюсь с этой проблемой.Добавление объекта в файл persistence.xml, похоже, разрешило его.