Hibernate關鍵字inverse和cascade

維護關聯關係中,是否設置inverse屬性:spa

        1. 保存數據 date

                 有影響。引用

           若是設置控制反轉,inverse=true, 而後經過部門方維護關聯關係。在保存部門的時候,同時保存員工, 數據會保存,但關聯關係不會維護。即外鍵字段爲NULL數據

        2. 獲取數據margin

                 無。co

        3. 解除關聯關係?cas

                 有影響。let

                inverse=false  能夠解除關聯生成

inverse=true  當前方(部門)沒有控制權,不能解除關聯關係delete

(不會生成update語句,也不會報錯)

        4. 刪除數據對關聯關係的影響?

                 有影響。

                 inverse=false, 有控制權, 能夠刪除。先清空外鍵引用,再刪除數據。

                 inverse=true,  沒有控制權: 若是刪除的記錄有被外鍵引用,會報錯,違反主外鍵引用約束!  若是刪除的記錄沒有被引用,能夠直接刪除。

 

cascade  表示級聯操做  【能夠設置到一的一方或多的一方】

        none          不級聯操做, 默認值

        save-update     級聯保存或更新

        delete                 級聯刪除

        save-update,delete    級聯保存、更新、刪除

        all                 同上。級聯保存、更新、刪除

相關文章
相關標籤/搜索