关联关系操纵对象总结

使用关联关系操纵对象:

         两个实体对象之间的关系有4种:一对一,一对多,多对一和多对多。对于关联关系的配置有如下4个值需要注意:

l  本身类的主键值id

l  关联类的主键值id

l  <key column=””>的值

l  <column=””>的值

其中,本身类的主键id和关联类的主键id不用使用column去指定,Hibernate会自己识别。并且有一个规则:<key column=””>的值和本身类的主键id对应;<column=””>的值和关联类的主键id对应。

一对一比较简单,因为没有column属性。

一对多需要指定自己的主键值和关联类的哪一个列值相对应,所以要设置<key column=””>。多对一关系中,“多”的这一边在相应的数据表中需要增加一个字段来保存关系,这个字段存放和关联类(也就是“一”那一端)得主键id相同的值,也可以设为外键引用。多对多关联中,两个实体类需要告诉辅助表:“你这表中哪个字段值是我的主键,哪个字段是我所关联的类的主键”,因此<key column=””><column=””>都要设置。

双向关联中一定要注意inverse的使用,设置了inverse=true”的这一端比较清闲,他把控制权交给了另一端。一对多应该让“多”这一端有控制权,也就是在“一”这一端设置inverse=”true”

多对多中不可以把cascade设为alldelete,比如删除了一个学生,不应该级联删除他所选的课程的记录,因为这些课程还可能被其他学生所选择了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值