0
我有許多對A和B, 之間一對多關係,其中A屬於關聯乙的Grails:刪除的許多一對多關係
假設DB內的以下數據僅一側:
<a1,b1>
<a1,b2>
<a2,b1>
如何刪除所有A1,所以數據庫將使用映射保持
<a2,b1>
中最優雅的\自動方式?
我有許多對A和B, 之間一對多關係,其中A屬於關聯乙的Grails:刪除的許多一對多關係
假設DB內的以下數據僅一側:
<a1,b1>
<a1,b2>
<a2,b1>
如何刪除所有A1,所以數據庫將使用映射保持
<a2,b1>
中最優雅的\自動方式?
不幸的是,cascade「all-delete-orphan」,這聽起來非常合適,applies only to one-to-many relationships(我剛剛測試過你的場景,它確實不起作用)。我想不出一個更優雅的方式來處理這個問題,而不是使用beforeDelete
休眠事件A
刪除所有孤立的B's
。
考慮將連接表映射爲建議的here作爲實體,以避免頭痛,並且如果您需要Burt Beckwith here建議的性能。我討厭這種非面向對象的方法,但你可能需要遵循它。至少你會有級聯刪除。
不幸的是,這似乎不可能。 – shaydel