@Column
JPA @Columnpenjelasan adalah untuk atribut entitas dasar, seperti String, Integer, Date.
Jadi, jika nama atribut entitas berbeda dari nama kolom yang mendasarinya, Anda perlu menggunakan @Columnanotasi untuk menentukan nama kolom secara eksplisit, seperti ini:
@Column(name="created_on")
private LocalDate createdOn;
@JoinColumn
The @JoinColumnpenjelasan digunakan untuk menyesuaikan Key Foreign nama kolom , dan hanya dapat digunakan dengan asosiasi entitas.
Jadi, dalam kasus Anda, karena Anda menggunakan @ManyToOnepengaitan, Anda perlu menggunakan @JoinColumn:
@ManyToOne(fetch=FetchTYpe.LAZY)
@JoinColumn(name="LicenseeFK")
private Licensee licensee;
Perhatikan bahwa kita menyetel fetchatribut ke FetchType.LAZYkarena, secara default, FetchType.EAGERdigunakan, dan itu adalah strategi yang buruk. Untuk detail lebih lanjut tentang mengapa FetchType.LAZYdefault yang jauh lebih baik, lihat artikel ini .