2015-06-29 82 views
0

我有許多對A和B, 之間一對多關係,其中A屬於關聯乙的Grails:刪除的許多一對多關係

假設DB內的以下數據僅一側:

<a1,b1> 
<a1,b2> 
<a2,b1> 

如何刪除所有A1,所以數據庫將使用映射保持

<a2,b1> 

中最優雅的\自動方式?

回答

0

不幸的是,cascade「all-delete-orphan」,這聽起來非常合適,applies only to one-to-many relationships(我剛剛測試過你的場景,它確實不起作用)。我想不出一個更優雅的方式來處理這個問題,而不是使用beforeDelete休眠事件A刪除所有孤立的B's

考慮將連接表映射爲建議的here作爲實體,以避免頭痛,並且如果您需要Burt Beckwith here建議的性能。我討厭這種非面向對象的方法,但你可能需要遵循它。至少你會有級聯刪除。

+0

不幸的是,這似乎不可能。 – shaydel