hibernate一对一映射

来源:互联网 发布:淘宝换手机屏幕可靠么 编辑:程序博客网 时间:2024/04/20 18:49
hibernate一对一主键关联映射(双向关联Person<---->IdCard) 

需要在idcard映射文件中加入<one-to-one>标签指向person,指示hibernate如何加载person 
默认根据主键加载 


hibernate一对一主键关联映射(单向关联Person---->IdCard) 

一对一主键关联映射:让两个实体对象的id保持相同,这样可以避免多余的字段被创建 

具体映射: 

<id name="id"> 
<!-- person的主键来源idCard,也就是共享idCard的主键 --> 
<generator class="foreign"> 
<param name="property">idCard</param> 
</generator> 
</id> 
<property name="name"/> 
<!-- one-to-one标签的含义,指示hibernate怎么加载它的关联对象,默认根据主键加载, 
constrained="true", 表明当前主键上存在一个约束,person的主键作为外键参照了idCard
--> 
<one-to-one name="idCard" constrained="true"/> 

hibernate一对一唯一外键关联映射(单向关联Person---->IdCard) 

一对唯一外键关联映射是多对一关联映射的特例 

可以采用<many-to-one>标签,指定多的一端的unique=true,这样就限制了多的一端的多重性为一 
通过这种手段映射一对一唯一外键关联 


hibernate一对一唯一外键关联映射(双向关联Person<---->IdCard) 
一对一唯一外键关联双向,需要在另一端(idcard),添加<one-to-one>标签,指示hibernate如何加载 
其关联对象,默认根据主键加载person,外键关联映射中,因为两个实体采用的是person的外键维护的关系, 
所以不能指定主键加载person,而要根据person的外键加载,所以采用如下映射方式: 

<one-to-one name="person" property-ref="idCard"/> 



原文转载::http://sakyone.iteye.com/blog/348138

原创粉丝点击