Hibernate关键字inverse和cascade
2019獨角獸企業重金招聘Python工程師標準>>>
維護關聯關系中,是否設置inverse屬性:
??????? 1. 保存數據
???????????????? 有影響。
??????? ? ?如果設置控制反轉,即inverse=true, 然后通過部門方維護關聯關系。在保存部門的時候,同時保存員工, 數據會保存,但關聯關系不會維護。即外鍵字段為NULL
??????? 2. 獲取數據
???????????????? 無。
??????? 3. 解除關聯關系?
???????????????? 有影響。
??????? ??????? inverse=false,? 可以解除關聯
inverse=true,? 當前方(部門)沒有控制權,不能解除關聯關系
(不會生成update語句,也不會報錯)
??????? 4. 刪除數據對關聯關系的影響?
???????????????? 有影響。
???????????????? inverse=false, 有控制權, 可以刪除。先清空外鍵引用,再刪除數據。
???????????????? inverse=true,? 沒有控制權: 如果刪除的記錄有被外鍵引用,會報錯,違反主外鍵引用約束!? 如果刪除的記錄沒有被引用,可以直接刪除。
?
cascade? 表示級聯操作? 【可以設置到一的一方或多的一方】
??????? none ?????????不級聯操作, 默認值
??????? save-update???? 級聯保存或更新
??????? delete?????????????? ? 級聯刪除
??????? save-update,delete??? 級聯保存、更新、刪除
??????? all???????????????? 同上。級聯保存、更新、刪除
轉載于:https://my.oschina.net/u/242479/blog/520933
總結
以上是生活随笔為你收集整理的Hibernate关键字inverse和cascade的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL实战课程---通过录像手把手带
- 下一篇: 日期DatePicker与时间TimeP