Anda dapat membuat Embedded class
, yang berisi dua kunci Anda, dan kemudian memiliki referensi ke kelas tersebut seperti EmbeddedId
pada Anda Entity
.
Anda akan membutuhkan anotasi @EmbeddedId
dan @Embeddable
.
@Entity
public class YourEntity {
@EmbeddedId
private MyKey myKey;
@Column(name = "ColumnA")
private String columnA;
/** Your getters and setters **/
}
@Embeddable
public class MyKey implements Serializable {
@Column(name = "Id", nullable = false)
private int id;
@Column(name = "Version", nullable = false)
private int version;
/** getters and setters **/
}
Cara lain untuk mencapai tugas ini adalah dengan menggunakan @IdClass
anotasi, dan menempatkan keduanya id
di dalamnya IdClass
. Sekarang Anda dapat menggunakan @Id
anotasi normal pada kedua atribut
@Entity
@IdClass(MyKey.class)
public class YourEntity {
@Id
private int id;
@Id
private int version;
}
public class MyKey implements Serializable {
private int id;
private int version;
}
@IdClass
anotasi, tip lain yang saya temukan adalah@Column
anotasi harus masuk ke bidang kelas Entitas (YourEntity
dalam kode contoh RohitJan).