一对一主键关联映射(单向Person---->IdCard)
原理:让两个实体的主键一样,这样就不需要加入多余的字段了。
举例:一个人(Person)拥有一张身份证(IdCard)。


Person类的映射文件Person.hbm.xml。
[html]
idCard
从对象模型中看,Person类持有IdCard的引用。从配置看,
一对一主键关联映射(双向Person<---->IdCard)
原理:与上面单项相同,只是需要两端都需要维护。
举例:同上。


Person的映射文件不变,和上面相同。IdCard的映射文件IdCard.hbm.xml。
[html]
在对象模型中,Person和IdCard各自都持有对方的引用,在配置方面,需要在IdCard加入
一对一唯一外键关联映射(单向Person---->IdCard)
原理:一对一唯一外键关联映射其实是多对一的特例,因此和上篇讲过的原理相同。
举例:同上。


Person对象映射文件Person.hbm.xml。
[html]
采用
一对一唯一外键关联映射(双向Person<---->IdCard)
原理:同上。
举例:同上。


Person映射文件不变,和上面相同。IdCard的映射文件IdCard.hbm.xml。
[html]
从对象模型看,双方都各自持有对方的引用。从配置看,一对一唯一外键关联双向采用
多对多关联映射(单向User---->Role)
原理:一般的设计中,多对多关联映射,需要一个中间表,将两个表中的主键放到中间表中做一个关联。
举例:一个用户(User)对多个角色(Role),一个角色对多个用户。


User对象的映射文件User.hbm.xml。
[html]
多对多的关联映射,在实体类中,跟一对多一样,也是用集合来表示的。
多对多关联映射(双向User<---->Role)
原理:同上。
举例:同上。


User对象的映射文件和上面相同。Role的映射文件Role.hbm.xml。
[html]
关联关系到此就结束了,咋一看Hibernate的关联关系一大堆,搞得人发晕,但是把这些归纳起来,并分类汇总理解就非常简单了。
作者:StubbornPotatoes