Rumah > Java > javaTutorial > teks badan

Bagaimanakah kunci utama komposit boleh digunakan untuk mengurus versi data dalam JPA?

DDD
Lepaskan: 2024-10-30 16:44:25
asal
461 orang telah melayarinya

How can composite primary keys be used to manage data versions in JPA?

Mencipta dan Mengendalikan Kunci Utama Komposit dalam JPA

Untuk mengurus versi data dalam entiti, mencipta kunci utama komposit membolehkan penduaan entri berdasarkan nombor versi. Pertimbangkan pelaksanaan berikut:

@Entity
public class YourEntity {
    @EmbeddedId
    private MyKey id;
    private String columnA;
    // Getters and setters omitted for brevity
}

@Embeddable
public class MyKey implements Serializable {
    private int id;
    private int version;
    // Getters and setters omitted for brevity
}
Salin selepas log masuk

Menggunakan pendekatan ini, kedua-dua medan id dan versi membentuk kunci utama komposit. Ini membolehkan penciptaan berbilang versi untuk setiap rekod data:

Entity 1: id = 1, version = 0, columnA = "Data Entry 1"
Entity 2: id = 1, version = 1, columnA = "Updated Data Entry 1"
Salin selepas log masuk

Kaedah alternatif untuk mentakrifkan kunci utama komposit menggunakan anotasi @IdClass:

@Entity
@IdClass(MyKey.class)
public class YourEntity {
    @Id
    private int id;
    @Id
    private int version;
    private String columnA;
    // Getters and setters omitted for brevity
}

public class MyKey implements Serializable {
    private int id;
    private int version;
    // Getters and setters omitted for brevity
}
Salin selepas log masuk

Dalam kes ini, kelas MyKey berfungsi sebagai kelas kunci utama, dan medan id serta versi di dalamnya dianotasi dengan @Id.

Dengan menggunakan sama ada anotasi @EmbeddedId atau @IdClass, JPA boleh mengurus kunci utama komposit dengan berkesan, memudahkan penyimpanan dan mendapatkan semula versi data dalam satu entiti.

Atas ialah kandungan terperinci Bagaimanakah kunci utama komposit boleh digunakan untuk mengurus versi data 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!