码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate映射解析——关联映射(四)

时间:2014-12-12 22:13:49      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   os   sp   for   strong   

下面为大家介绍一对一关联映射的第二种实现方式,即唯一外键关联。


唯一外键关联:外键关联,本来是用于多对一的配置,但是如果加上唯一的限制之后,也可以用来表示一对一关联关系。


唯一外键关联也采用两种方式,即单向与双向。对象模型都与主键关联的单双向一致,不同的是形成的关系模式。


单向唯一外键:

采用<many-to-one>标签来映射,指定多的一端uniquetrue,这样就限制了多的一端的多重性唯一。


关系模型: 

   bubuko.com,布布扣


IdCard.hbm.xml 

         

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.bjpowernode.hibernate.IdCard" table="t_idCard">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="cardNo"/>
	</class>
</hibernate-mapping>

Person.hbm.xml


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.bjpowernode.hibernate.Person" table="t_person">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="name"/>
		<many-to-one name="idCard" unique="true"/>
	</class>
</hibernate-mapping>


双向唯一外键:


双向唯一外键关联采用<one-to-one>标签映射,必须制定<one-to-one>标签中的property-ref属性为关系字段的名称


IdCard.hbm.xml 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.bjpowernode.hibernate.IdCard" table="t_idCard">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="cardNo"/>
		<one-to-one name="person" property-ref="idCard"/>
	</class>
</hibernate-mapping>

Person.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.bjpowernode.hibernate.Person" table="t_person">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="name"/>
		<many-to-one name="idCard" unique="true"/>
	</class>
</hibernate-mapping>


!!注:双向唯一外键的关系模型与单向模型一致,还是由person来维护,只是对象模型变成了双向箭头,互相持有对象的引用。


Hibernate映射解析——关联映射(四)

标签:style   blog   http   io   ar   os   sp   for   strong   

原文地址:http://blog.csdn.net/mingxuanyun/article/details/41625289

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!