JPA意外的行爲,我有一些懷疑JPA的CascadeType.ALL
與@ManyToMany
協會的行爲。我有以下情形:共享孩子實體
有Employee
S和Department
S之間的@ManyToMany
伴隨CascadeType.ALL
在Employee
側。
如果我創建了兩個員工屬於同一個部門
Department sales = new Department("sales");
Employee alice = new Employee("alice", sales);
Employee bob = new Employee("bob", sales);
,然後我堅持他們按預期的部門依然存在,由於級聯。
然後我刪除alice
和bob
,一次一個。當我刪除alice
時,Employee
被刪除,但銷售部門未更改。
但是當我刪除bob
(在alice
之後)時,銷售部門自動刪除。
這是爲什麼?爲什麼我在刪除alice
時不試圖刪除該部門?我會預料到的!
謝謝!
是的,但然後什麼是Hibernate試圖做什麼?刪除鮑勃後是否刪除部門,因爲它知道沒有其他人蔘考它?我嚴重懷疑這是事實。 –