一对多双向映射
一对多双向关联
*在一的一端使用<key > 在对方的表中中加入一个外键指向一的一端
*在多的一端使用<many-to-one>
*注意<key>和<many-to-one>指定的外键名一定要相同则会出现错误
如果在一的一端维护关联关系 在save对象的时候会添加多余的update语句
所以我们一般用inverse将关系反转 在多的一端维护关联关系。
关于inverse属性:
inverse主要用在一对多和多对多的双向关联上,inverse属性可以被设置在
<set>集合标签上,默认位false,所以我们可以从多的一端和一的一端维护
关联关系,如果设置inverse位true那么我们只能从多的一段去维护关联关系
* 注意inverse属性只影响数据的存储 就是持久化
inverse和cascade:
*inverse是关联关系的控制方向;
*cascade是操作上的连锁反应(none,all,delete,save-update)
个人认为理解hibernate关键就是理解 关联映射
一对多双向关联
*在一的一端使用<key > 在对方的表中中加入一个外键指向一的一端
*在多的一端使用<many-to-one>
*注意<key>和<many-to-one>指定的外键名一定要相同则会出现错误
如果在一的一端维护关联关系 在save对象的时候会添加多余的update语句
所以我们一般用inverse将关系反转 在多的一端维护关联关系。
关于inverse属性:
inverse主要用在一对多和多对多的双向关联上,inverse属性可以被设置在
<set>集合标签上,默认位false,所以我们可以从多的一端和一的一端维护
关联关系,如果设置inverse位true那么我们只能从多的一段去维护关联关系
* 注意inverse属性只影响数据的存储 就是持久化
inverse和cascade:
*inverse是关联关系的控制方向;
*cascade是操作上的连锁反应(none,all,delete,save-update)
个人认为理解hibernate关键就是理解 关联映射