Hibernate的ID联合主键——Hibernate学习笔记04
之前写了id的生成策略,但有时候我们的数据库表的主键并不是唯一的一个属性,这就要用到联合主键,配置方法呢同样有两个,xml和annotation。当然我们在设计数据库表的时候尽量不要去这么设计,但是要是遇到了这种情况,要学会配置。
还是先来看项目

对于Student,我们认为age和id作为联合主键,那么新建一个Student_pk.java里面有age 和int 属性还有get方法。
2)把组件的属性注册为@EmbeddeId;
3)把类注解为@IdClass把属于主键的属性注解为@Id;
对于第三种和第二种用的多,关于为什么要有@IdClass,虽然我们在存的时候没有用到这个类,但是在读取的时候还是会用到,所以这个类应该存在。


