@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значно краще за замовчуванням, ознайомтеся з цією статтею .