hibernate多对一及一对一关联映射学习笔记

首先感谢尚学堂的王勇老师!!!

[b]多对一[/b]

会在多的一端加入一个外键,指向一的一端,这个外键是由中的column属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致。

标签的定义示例:
使用级联:
<many-to-one name="group" column="groupid" cascade="all"/>

默认不使用级联:
 <many-to-one name="group" column="groupid"/>


注:cascade="all|none|save-update|delete"

这种方式下数据库中多的一端产生外键。如果persistent状态的对象引用transient状态的对象会抛出TransientObjectException异常。

[b] 一对一主键关联(单向)[/b]

让两个实体对象的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"/>

[color=indigo]一对一主键关联映射中,默认了cascade属性[/color]
主键充当外键

[b] 一对一主键关联(双向)[/b]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值