什么时候用单向关联和双向关联

对于Hibernate的双向关联和单向关联,我一直都搞不懂,究竟什么时候用双向关联、什么时候用单向关联呢?以前写过一个Hibernate的项目,那时什么都不管,都是直接双向关联,暑假找个项目来练练,突然发现我居然连这个都不清楚,于是便上网去查一查,总结了单向和双向关联的区别就在于,两个类是否需要互相知道,如果类A需要知道类B,而类B也需要知道类A,那么这两个类就应该是双向关联的,而如果只需要类A知道类B,而不需要类B知道类A,那么就是单向关联。

当然,实际上我们一般都是设置的双向关联(用单向的比较少)

还有一个关于关联时的集联(cascade)参数设置:

  • CascadeType.PERSIST:如果一个实体是受管状态, 或者当persist()函数被调用时, 触发级联创建(create)操作 

  • CascadeType.MERGE:如果一个实体是受管状态, 或者当merge()函数被调用时, 触发级联合并(merge)操作 

  • CascadeType.REMOVE:当delete()函数被调用时, 触发级联删除(remove)操作 

  • CascadeType.REFRESH: 当refresh()函数被调用时, 触发级联更新(refresh)操作 

  • CascadeType.ALL:以上全部 





    借助文章:http://loomz.blog.163.com/blog/static/52111559200792491826947/


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值