为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle:Hibernate关联映射

标签:
Oracle

Hibernate关联映射
一:关联关系

  1. 从一个表到另一个表的关联就称为:单向关联
    如果同时包含两种表就称:为双向关联

*映射关系如下:
多对一单向关联关系
一对多双向关联关系
多对多关联关系

  1. 持久化操作:保存
    Public class EmpDao extends BaseDao{
    Public void save(Emp emp){
    This.currentSession().save(emp);//省略其它代码
    }
    }
  2. 建立双向一对多关联关系:
    列如:给定Emp对象,如果想获得与它关联的Dept对象:如下
    Dept dept=emp.getDept();//从Emo对象导航到关联的Dept对象
    4.<set>元素:还包含了其它两个元素:
    <key>元素:column属性设定与所关联的持久化类相对应的表外键,此处表的DEPTNO字段
    <one-to-many>元素:Class属性设定关联的持久化类型,此处为Emp 类Hibernate根据以上映射代码可活动以下信息。
  3. 双向关联关系下的增删该操作
    级联操作可以为持久化映射文件中通过cascade属性和inverse属性进行控制。
    5.<set>元素的inverse属性
    <set>属性的inverse属性的值有两个,即true和false默认是false,关系关联中,inverse=”false”的伪主动方,主动方负责维护关联关系。
    二:加载
  4. 立即加载:
    在xml文件中。
    <class name=”文件路径全名” lazy=”false” table=”对象名”>

以下代码表明Dept类的emps集合采用立即加载策略
<set name=”emps” inverse=”true” lazy=”false”>….</set>

  1. 延迟加载:
    默认加载:<class name=”文件全名” lazy=”true” table=”对象名”>
    对于<set>元素,应该优先考虑使用默认的延迟加载策略
    <set name=”emps” inverse=”true”>…..</set>

  2. 增强延迟加载:
    <set name=”emps” inverse=”true” lazy=”extra”>….</set>
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消