Я хочу отобразить ассоциацию @OneToOne
с использованием Hibernate 5.3.10 и JPA.
Я знаю, что родительская сторона ассоциации @OneToOne
не может быть загружена лениво, если не используются улучшения байт-кода.
В этом случае я хочу только сопоставить клиентскую сторону и использовать @MapsId
связь, которая предлагается здесь: Лучший способ сопоставить один-единственный
Вот мое отображение на Сторона клиента. Родительская сторона CardEntity
вообще не имеет сопоставления с DeviceType
.
public class DeviceType {
@Id
@Column( name = "PRODUCT_CARD_TYPE_ID" )
private Long cardTypeId;
...
@OneToOne( fetch = FetchType.LAZY )
@MapsId
@JoinColumn( name = "PRODUCT_CARD_TYPE_ID" )
private CardEntity card;
....
}
Я даю ему дополнительный @JoinColumn
, поскольку столбец KEY в CardEntity
имеет имя, отличное от "PRODUCT_CARD_TYPE_ID"
. См. Столбец изменения идентификатора
. Для этого сопоставления загрузка LAZY
не работает. Он всегда выполняет другой оператор для извлечения CardEntity
. Что я тут не так делаю?