2012-12-18 67 views
0

我在Hibernate中混淆了inverse = true的一對多映射。Hibernate中的混淆反轉

1.反向提供雙向映射。我們把它放在收集側,另一側將採取船主。 2.反轉和級聯都用於不同的目的。

3.在Casecade中,所有的Hibernate都會在一次調用中保存父關聯。

4.In Cascade = none我們需要撥打不同的電話來保存父母及其孩子。

5.在cascade = all和inverse = true的情況下,在一對多情況下會有一個更新查詢更新約束。

但是在cascade = none的情況下inverse = true或inverse = false(在一對多中),我無法在sql查詢中找到任何更改。

所以我的問題是在cascade = none的情況下,究竟是什麼inverse = true。

回答

0

cascadeinverse ae正交概念。

inverse只是說這個關聯是一個雙向的關聯,由關聯的另一側進行映射。它使對方成爲該協會的主人。

只有關聯的一方是所有者端,而Hibernate在持久時只考慮所有者端。這意味着如果實體a有一組包含b1,b2b3的Bs集合,但這些B實例都沒有引用a作爲它們的父節點,所以Hibernate將不會保留該關聯,因爲所有者方(B)說:I' m不與任何父母A連接。