hibernate配置关系第二季

之前我们介绍了hibernate中怎样配置一对多的关系,现在我们在来进一步讨论下多对多关系的配置,以及最后对hibernate中关系配置
的相关常用参数进行一个小结。

依然拿租房子的例子来说,如果多个人对应多个房间,那么这里就要用配置多对多的关系
与一对多不同的是实现需要引入一张链接表  在该表中有pid和rid两个复合主键
  在多对多关系中同样有单项和双向的关系。
   就单向关系中
    在Room类中有一个 Set Person person属性
    在对应的.hbm文件中<set name="person" table="连接表" lazy="true" casecade="all">
                         <key column="rid"></key>
                         <many-to-many class="Person类" column="pid">
                      </set>



  如果多对多是双向关系,那么只需要从person一方可以了解到所对应的room就可以了。
   Room类和其对应的.hbm文件不用修改,只需在person类中添加一个Set Room room属性
   在对应的.hbm文件中配置
    <set name="room" table="连接表" lazy="true" casecade="all">
                         <key column="pid"></key>
                         <many-to-many class="Room类" column="pid">

                      </set>


 <many-to-one>属性含义
          name ="一方对应映射类中属性名"
          column="一方对应映射表中的字段名"
          casecade="all|none|save-update|delete" 级联程度(all在所有情况下都执行级联,none在所有情况下都不执行,save-update在保持和更新的时候执行,delete在删除的时候执行级联。
          outer-join = "true|false|auto" 外连接
          update="true|false"
          insert="true|false"
          property-ref="关联类的属性名"  指定关联类的属性
          access="field|property|className" 默认property 用来访问属性的策略
   在单向多对一关系中,多方对象引用一方对象,即多发是主控方。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值