Follow Me:深入浅出学习Hibernate五:Hibernate关联映射一对一

一对一映射种类

一对一主键关联映射(单向)

一对一主键关联映射(双向)

一对一唯一外键关联映射(单向)

一对一唯一外键关联映射(双向)

具体分析

一对一主键关联映射(单向)

关系模型:一个用户一张身份证,一个张省份证对应一个用户,这就是一个一对一的模型。hibernate一对一主键关联映射(单向关联Person----->IdCard


用例图

数据库模型


一对一关联映射原理:让两个实体的主键一样,这样就不需要加入多余的字段了

<class name="com.bjpowernode.hibernate.Person" table="t_person">
	<id name="id">
		<!-- 采用foreign生成策略,forgeign会取得关联对象的标识 -->
		<generator class="foreign">
			<!-- property只关联对象 -->
			<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"/>
</class>

一对一主键关联映射(双向)

hibernate一对一主键关联映射(双向关联Person<----->IdCard

用例图


数据库模型


需要在IdCard加入<one-to-one>标签,指示hibernate将关联对象Person

一对一唯一外键关联映射(单向)

用例图


数据库模型

hibernate

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

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

采用

<many-to-one>

标签来映射,指定多的一端uniquetrue,这样就限制了多的一端的多重性为一,就是这样来映射的。

一对一唯一外键关联映射(双向)

用例图


数据库模型


hibernate

一对一唯一外键关联映射(双向关联Person<----->IdCard

一对一唯一外键关联双向采用

<one-to-one>标签映射,必须指定<one-to-one>

标签中的

property-ref属性为关系字段的名称

总结

主要就是<one-to-one>应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值