Rumah > Java > javaTutorial > Bolehkah JPA Hibernate Menjana Urutan untuk Lajur Bukan Utama Utama?

Bolehkah JPA Hibernate Menjana Urutan untuk Lajur Bukan Utama Utama?

Mary-Kate Olsen
Lepaskan: 2024-12-07 08:00:24
asal
222 orang telah melayarinya

Can Hibernate JPA Generate Sequences for Non-PrimaryKey Columns?

Jujukan JPA Hibernate untuk Lajur Bukan Pengecam

Soalan:

Adakah mungkin untuk jana nilai berasaskan jujukan untuk lajur bukan kunci utama menggunakan Hibernate JPA?

Jawapan:

Tidak, JPA Hibernate tidak secara langsung menyokong penjanaan nilai berasaskan jujukan untuk lajur bukan pengecam. Anotasi @GeneratedValue hanya digunakan dengan @Id untuk menjana nombor automatik.

Penyelesaian:

Untuk mencapai kefungsian ini, penyelesaian adalah dengan mencipta entiti berasingan dengan Id yang dijana dan hubungan satu dengan satu dengan entiti asal, seperti yang ditunjukkan di bawah:

@Entity
public class GeneralSequenceNumber {
    @Id
    @GeneratedValue(...)
    private Long number;
}

@Entity 
public class MyEntity {
    @Id ..
    private Long id;

    @OneToOne(...)
    private GeneralSequnceNumber myVal;
}
Salin selepas log masuk

Dalam penyelesaian ini, entiti GeneralSequenceNumber menguruskan penjanaan jujukan, sambil mengekalkan hubungan dengan MyEntity yang asal.

Atas ialah kandungan terperinci Bolehkah JPA Hibernate Menjana Urutan untuk Lajur Bukan Utama Utama?. 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