У меня ниже столбца в моем классе сущности.
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "INQUIRYID", referencedColumnName="ID", updatable=false, insertable=false)
private MyTable myInquiry;
Во время выполнения выдает ошибку ниже.
column with logical name ID not found in entity class
Поскольку указанный столбец является первичным ключом , я удалил атрибут referencedColumnName и обновил до значения ниже
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "INQUIRYID", updatable=false, insertable=false)
private MyTable myInquiry;
Это прекрасно работает с Hibernate 5.3 , но как только я перехожу на hibernate 4 , я вижу некоторые аномалии.
В hibernate 5 эта проблема возникает только со столбцами, которые ссылаются на некоторый идентификатор (PK) другого класса. Тем не менее, в hibernate 4 я вижу эту ошибку и для столбцов не-pk.
Я начинаю получать ту же ошибку для столбцов, которые ссылаются не на первичные ключи.
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "AB", referencedColumnName = "AB")
private MyTable someData;
Приведенный выше код выдает ошибку в hibernate 4
Column with logical name AB not found in entity class.
Здесь AB - столбец без первичного ключа . Так что я не могу удалить атрибут referencedColumnName.
Это просто из-за спящего варианта или есть другая причина для такого поведения?
Ссылался на это: Аналогичный выпуск