Hibernate many-to-one and one-to-many

参考地址:http://my.oschina.net/u/274427/blog/68584

1.多对一单向关联,如A多对一B,多个A可以对应一个B,在A中数据表中设定一个外键代表BidB_id),A类属性中存在B类对象属性,在映射文件中用<many-to-one>A中的B对象映射到数据表A中的外键(B_id)中,而B中不需要存在A对象属性。

 

?
1
2
3
4
5
6
7
< many-to-one
    name = "A中B属性名" 是指在A类中定义的B对象的字段名
    column = "B_id"
    class = "B包名.类名"
    lazy = "false"
    not-null = "false"
    cascade = "none" />
 

2.映射一对多双向关联,则B中存在表示A类的集合对象,将B中集合类对象声明成接口类型,如ListSetMap,使应用程序不局限于该接口实现类,可以提高程序健壮性,利用

 

?
1
2
3
4
5
< Set inverse = "true" name = "B类中集合"
    cascade = "save-update" >
    < key column = "B_id" />
    < one-to-many class = "A包名.类名" />
</ Set >

 

 

进行配置B.hbm.xmlinverse属性默认为false,应将它设置为true(应将oneinverse设置为true)inverse作用为当hibernate检测到AB的属性均发生变化时,仅按照A方的变化来同步数据库。

3.Set中设置cascade="delete" 当删除B对象时,同时也删除和B关联的所有A对象。

 

4.父子关系,如想在AB解除关系时同时删除A对象,则可以cascade="all-delete-orphan",当关联双方存在父子关系时,就可以将复方cascade设置成all-delete-orphan,让父管理子的持久化生命周期,不允许子单独存在,如果删除父方对象,同时也删除级联的子方所有对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值