Hibernate JPA Sequence for Non-Identifier Lajur
Soalan:
Adakah ia boleh memanfaatkan jujukan pangkalan data untuk menjana nilai bagi lajur jadual yang tidak ditetapkan sebagai pengecam atau komponen pengecam komposit menggunakan JPA Hibernate?
Jawapan:
JPA Hibernate tidak menyokong penjanaan nilai automatik untuk sifat yang tidak ditetapkan sebagai pengecam. Anotasi @GeneratedValue digunakan secara eksklusif bersama-sama dengan @Id untuk mencipta nilai penambahan automatik.
Penyelesaian:
Untuk memintas pengehadan ini, pertimbangkan untuk mencipta entiti berasingan dengan pengecam yang dijana, seperti:
@Entity public class GeneralSequenceNumber { @Id @GeneratedValue(...) private Long number; } @Entity public class MyEntity { @Id .. private Long id; @OneToOne(...) private GeneralSequnceNumber myVal; }
Pendekatan ini melibatkan mewujudkan hubungan satu dengan satu antara entiti utama dan entiti jujukan. Dengan memanfaatkan entiti yang berasingan ini, Hibernate boleh menjana nilai jujukan unik yang boleh diberikan kepada sifat yang diingini dalam entiti utama.
Atas ialah kandungan terperinci Bolehkah JPA Hibernate Menggunakan Urutan untuk Lajur Bukan ID?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!