Тип атрибута "Много в один" не должен быть "Объектом сущности",

Я пытаюсь использовать IntelliJ IDEA, и это предупреждает меня об ассоциации Hibernate, которую я не совсем понимаю.

Одна сторона:

@Entity
@Table(name = "MY_REQ_ASSIGNEE")
public class MyRequestAssignee extends BaseUser {
    //...
    @OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL}, mappedBy = "myRequestAssignee")
    private Collection<MyRequest> myRequests = new ArrayList<>();
    //...
}

Много сторон:

@Entity
@Table(name = "MY_REQUEST")
public class MyRequest implements Persistable {

   //...
   @ManyToOne(fetch=FetchType.EAGER)
   @JoinColumn(name="ASSIGNEE_ID")
   private MyRequestAssignee myRequestAssignee;
   //...
}

(Persistable - это просто интерфейс, обладающий свойством id, чтобы убедиться, что Hibernate имеет к нему доступ.)

Я вижу тип MyRequestAssignee, подчеркнутый красным, и сообщение читает 'Many To One' attribute type should not be 'Persistence Entity'.. Что-то не так с моими отношениями?

Для проверки работоспособности я просмотрел этот пост и этот пост.

Ответы

Ответ 1

Я обнаружил, что это вызвано дочерним сущностью, которая не определена в файле hibernate.cfg.xml. Сообщение об ошибке может быть улучшено.

Ответ 2

Этот вопрос немного устарел, но я просто хотел добавить, что это также может быть вызвано конфликтующим файлом сопоставления hibmate.hbm и аннотациями JPA. Я столкнулся с этим сообщением об ошибке при преобразовании старых файлов сопоставления в аннотации и забыл прокомментировать один из старых файлов сопоставления.