您的位置:首页 > 其它

Hibernate一对一双向关联

2012-05-10 14:23 337 查看
Hibernate的一对一双向关联分两种:

1,主键关联:2个表的主键具有完全相同的值。

2,外键关联:其中一个表使用外键关联另一个表。

下面介绍一对一的外键关联:

首先在需要关联的两个实体类中加入对方的引用:

如:

两个实体类:WorkProcessDetailEntity(主),AchievementEntity(从)

在AchievementEntity类中加入包含get/set方法

private WorkProcessDetailEntity workProcessDetailEntity;

在WorkProcessDetailEntity加入包含get/set方法

private AchievementEntity achievementEntity;

配置相应的hbm配置文件:

TWorkProcessDetailEntity.hbm.xml添加内容:

<one-to-one name="achievementEntity" class="com.touchwisdom.airporttech.project.pojo.AchievementEntity" property-ref="workProcessDetailEntity" cascade="all">

</one-to-one>

注意property-ref,如果没有这个属性,在进行关联查询时,默认一对一关联用的是主键关联,查询时比较的是两个表的id字段.这个字段指定了主的一方如何去关联从的一方.在这里设置的是workProcessDetailEntity,也就是AchievementEntity实体类定义的相关属性.

TAchievementEntity.hbm.xml添加内容:

<many-to-one name="workProcessDetailEntity" class="com.touchwisdom.airporttech.project.pojo.WorkProcessDetailEntity" unique="true" >

<column name="processdetailid"></column>

注意:unique设置为true,代表唯一约束.

参考:http://www.lookhan.com/javaee/hibernate/20110320184900.html

本文出自 “超人的博客” 博客,请务必保留此出处http://wangchaokk.blog.51cto.com/3380801/859777
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: