hibernate中一对多 多对多 inverse cascade
----------------------------一对多-------------------------------------------
inverse属性:是在维护关联关系的时候起作用的。
表示控制权是否转移(在一的一方起作用)
inverse=false 不反转,当前方有控制权
inverse=true 控制反转,当前方没有控制权
保存数据:会影响到多的一方的数据
一的一方在保存数据时候 不会维护多的一方数据(多的一方数据不会保存到数据库中)
解除关联关系.clear() 方法
inverse=false 解除与多的一方关系 就是把多的一方的外键设为null
inverse=true 不会解除
删除关联关系
inverse=false 可以删除 并且把关联的多的一方 也删除了
inverse=true 报错
cascade属性:表示级联操作(一的一方或者多的一方都可设置)级联操作慎用
none 不级联操作,默认值
save-update:级联保存或者更新
delete:级联删除
all:级联所有
-------------------------------多对多==================================
多对多 ,保存(只能通过一方维护另外一方 不能重复维护)维护的一方必须设置级联操作 cascade="save-update"
inverse=true 会影响结果 中间表不会保存数据 inverse=false 不会影响 会级联操作
查询数据:
inverse=true 及 inverse=false 都不会影响
解除关系:
inverse=true 会影响结果 中间表不会删除关系数据 inverse=false 不会影响结果 会级联操作中间表(只会删除中间表数据)
删除数据:
inverse=true 会影响结果 中间表不会删除关系数据,只会删除本表数据(会报错) inverse=false 不会影响结果 会级联操作中间表(先删除中间表关联数据 然后删除本表数据)
最新文章
- 解决ssh远程登陆linux显示-bash-4.1$
- JDBC 内部资料 请勿转载 谢谢合作
- Java学习随笔5:Java多线程编程
- Cobar_基于MySQL的分布式数据库服务中间件
- BFC——一个我们容易忽视掉的布局神器
- DP 子序列问题
- Datalist增删改查——联系人管理
- eclipse查看类源码出现failed to create the part's controls的解决方法
- tensorflow_mnist数据集一直加载错误的解决办法
- js 条件判断
- SQL Server 数据库部分常用语句小结(二)
- PL/SQL变量的作用域和可见性
- python基础--字典
- 使用QML绘制界面
- Leetcode 1006. 笨阶乘
- mysql创建表单脚本
- 680. Valid Palindrome II
- 【jQuery】将form表单通过ajax实现无刷新提交
- qq浏览器的用户体验
- 初步理解socket