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