@Column
JPA @Column
аннотации для основных атрибутов сущностей, как String
, Integer
, Date
.
Таким образом, если имя атрибута сущности отличается от имени основного столбца, вам необходимо использовать @Column
аннотацию для явного указания имени столбца, например:
@Column(name="created_on")
private LocalDate createdOn;
@JoinColumn
@JoinColumn
Аннотаций используется для настройки имени столбца внешнего ключа , и он может быть использован только с ассоциацией лица.
Итак, в вашем случае, поскольку вы используете @ManyToOne
ассоциацию, вам нужно использовать @JoinColumn
:
@ManyToOne(fetch=FetchTYpe.LAZY)
@JoinColumn(name="LicenseeFK")
private Licensee licensee;
Обратите внимание, что мы установили fetch
атрибут, FetchType.LAZY
потому что по умолчанию FetchType.EAGER
используется, и это ужасная стратегия. Для получения более подробной информации о том, почему FetchType.LAZY
по умолчанию лучше, ознакомьтесь с этой статьей .