Hibernate menggunakan anotasi @IdClass untuk memproses kunci primer bersama Kunci primer bersama terdiri daripada berbilang lajur dan setiap entiti sepadan dengan kelas kunci primer bersama. Ia digunakan untuk keunikan dalam jadual berkaitan dan memberikan pertanyaan yang lebih besar dan fleksibiliti kemas kini Contohnya, dalam sistem pengurusan pengguna, pengguna dikenal pasti secara unik oleh firstName dan lastName Kunci utama bersama UserId ini dan diperoleh melalui get kaedah Pengguna untuk kunci utama tertentu.
Hibernate mengendalikan kunci utama kesatuan
Kunci utama kesatuan ialah kunci utama yang menggunakan berbilang lajur untuk mengenal pasti baris secara unik dalam jadual pangkalan data. Hibernate mengendalikan kunci utama kesatuan dengan menggunakan anotasi @IdClass
. @IdClass
注解来处理联合主键。
代码示例:
假设我们有一个名为 User
的表,其中 firstName
和 lastName
列共同构成联合主键。我们可以使用以下实体类来映射该表:
@Entity public class User { @IdClass(UserId.class) private UserId id; // 其他属性和方法(省略) } public class UserId implements Serializable { private String firstName; private String lastName; // 构造函数、getter 和 setter 方法(省略) }
在此示例中,UserId
类表示联合主键,它包含 firstName
和 lastName
属性。
实战案例:
我们在一个用户管理系统中使用联合主键。每个用户都由其 firstName
和 lastName
唯一标识。
我们使用以下代码从数据库中查找具有特定联合主键的用户:
UserId id = new UserId("John", "Doe"); User user = session.get(User.class, id);
在上面的代码中,get
方法将返回具有联合主键 John
和 Doe
的 User
Contoh Kod:
🎜🎜Andaikan kita mempunyai jadual bernamaUser
dengan lajur firstName
dan lastName
membentuk kunci utama bersama. Kita boleh menggunakan kelas entiti berikut untuk memetakan jadual ini: 🎜rrreee🎜Dalam contoh ini, kelas UserId
mewakili kunci utama kesatuan, yang mengandungi firstName
dan lastName
Properties. 🎜🎜🎜Kes praktikal: 🎜🎜🎜Kami menggunakan kunci utama bersama dalam sistem pengurusan pengguna. Setiap pengguna dikenal pasti secara unik melalui Nama Pertama
dan Nama Akhir
mereka. 🎜🎜Kami menggunakan kod berikut untuk mencari pengguna dengan kunci utama bersama tertentu daripada pangkalan data: 🎜rrreee🎜 Dalam kod di atas, kaedah get
akan mengembalikan pengguna dengan kunci primer bersama John
dan Pengguna untuk kod>Doe. 🎜🎜 Kunci utama kesatuan sangat berguna untuk menguatkuasakan keunikan antara jadual yang berkaitan. Ia juga membenarkan berbilang lajur digunakan untuk mengenal pasti entiti, memberikan fleksibiliti yang lebih besar semasa membuat pertanyaan dan mengemas kini. 🎜Atas ialah kandungan terperinci Bagaimanakah Hibernate mengendalikan kunci utama kesatuan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!