Senario:
Pertimbangkan senario di mana anda perlu menyimpan berbilang versi daripada kemasukan data yang sama, diwakili oleh lajur id dan Versi. Matlamatnya ialah untuk mencipta entiti yang boleh menduplikasi entri dengan versi yang berbeza.
Definisi Entiti:
Untuk menentukan entiti dengan kunci utama komposit, anda boleh menggunakan pendekatan berikut:
<code class="java">@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 }</code>
<code class="java">@Entity public class YourEntity { @EmbeddedId private MyKey myKey; @Column(name = "ColumnA") private String columnA; // Getters and setters }</code>
Pendekatan Lain:
Sebagai alternatif, anotasi @IdClass boleh digunakan untuk menentukan kunci utama komposit. Pendekatan ini membolehkan anda menggunakan anotasi @Id terus pada medan utama.
<code class="java">@Entity @IdClass(MyKey.class) public class YourEntity { @Id private int id; @Id private int version; // Getters and setters }</code>
<code class="java">public class MyKey implements Serializable { private int id; private int version; // Getters and setters }</code>
Entiti Pendua:
Untuk menduplikasi entiti dengan entiti yang berbeza versi, buat contoh baharu dengan id yang sama tetapi nilai versi yang berbeza. Ini akan membuat entri berasingan dalam pangkalan data yang mewakili versi baharu.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kunci Utama Komposit untuk Entri Data Berversi dalam JPA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!