我和A之间有很多关系, 其中A belongsTo B
假设数据库中包含以下数据:
<a1,b1>
<a1,b2>
<a2,b1>
如何删除所有a1,因此数据库将保留
<a2,b1>
以最优雅\自动方式使用映射?
答案 0 :(得分:0)
不幸的是,级联“all-delete-orphan”,这听起来非常合适,applies only to one-to-many relationships(我刚刚在你的场景中对它进行了测试,但它确实不起作用)。除了使用beforeDelete
上的A
hibernate事件删除所有孤立的B's
之外,我无法想到更优雅的处理方式。
考虑将联接表映射为建议here的实体,以避免头痛,并且如果您需要Burt Beckwith here建议的性能。我讨厌这种非面向对象的方法,但你可能需要遵循它。至少你会有级联删除。