invoerst 設定為true 交給另一方去添加資料,flase時,為雙方進行管理
cascade 為級聯 屬性為 delete, update, all, none
要注意的一點:在雙向關聯的關系中,映射的column(和table)的值要一緻(即要用相同的表名和列名),不然設定為inverse="true"的這方将失去這個雙向關系,而變成了一個單向關聯。
Inverse和Cascade的比較
Inverse:負責控制關系,預設為false,也就是關系的兩端都能控制,但這樣會造成一些問題,更新的時候會因為兩端都控制關系,于是重複更新。一般來說有一端要設為true。
Cascade:負責控制關聯對象的級聯操作,包括更新、删除等,也就是說對一個對象進行更新、删除時,其它對象也受影響,比如我删除一個對象,那麼跟它是多對一關系的對象也全部被删除。
舉例說明差別:删除“一”那一端一個對象O的時候,如果“多”的那一端的Inverse設為true,則把“多”的那一端所有與O相關聯的對象外鍵清空;如果“多”的那一端的Cascade設為Delete,則把“多”的那一端所有與O相關聯的對象全部删除。