Rumah > Java > javaTutorial > Bagaimana untuk Melaksanakan Kunci Utama Komposit untuk Entri Data Berversi dalam JPA?

Bagaimana untuk Melaksanakan Kunci Utama Komposit untuk Entri Data Berversi dalam JPA?

Susan Sarandon
Lepaskan: 2024-10-29 07:36:02
asal
525 orang telah melayarinya

How to Implement Composite Primary Keys for Versioned Data Entries in JPA?

Mencipta dan Mengendalikan Kunci Utama Komposit dalam JPA

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:

  1. Kelas Terbenam: Cipta kelas terbenam yang mengandungi medan utama. Kelas ini akan digunakan sebagai EmbeddedId dalam entiti.
<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>
Salin selepas log masuk
  1. Kelas Entiti: Kelas entiti akan mempunyai rujukan kepada kelas terbenam sebagai utamanya kunci.
<code class="java">@Entity
public class YourEntity {

    @EmbeddedId
    private MyKey myKey;

    @Column(name = "ColumnA")
    private String columnA;

    // Getters and setters
}</code>
Salin selepas log masuk

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>
Salin selepas log masuk
<code class="java">public class MyKey implements Serializable {

    private int id;
    private int version;

    // Getters and setters
}</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan