我有一个场景,其中包括3个A,B和C。
A有很多C. B有很多C
C有A C有一个B
我在A,AddC上有一个方法,它处理C的生命周期。
所以例如我有一个有很多C的A,我想删除一个C(1)并添加一个C(2)。 如果我要删除的C(1)有对B的引用,我通过我的C(1)实例访问B并从该集合中删除B.然后我从A上的集合中删除C(1)。然后将新的C(2)添加到A和B上的集合中。
我可以选择在C(1)上设置指向A和B的属性为空。
我正在尝试找出如何设置映射,以便在调用此方法并刷新会话后删除C(1)。
我尝试在A,B和A,B上映射cascadeAllDeleteOrphan。我尝试过使用Inverse / NotInverse,但由于我只使用一种方法来更新这三个对象之间的关系,所以我并不太关心哪一端管理关系。 我也尝试将C(1)的属性设置为A和B的实例,并保留A和B的映射具有HasMany(c).Not.Inverse。
最终结果是我的Cs没有被正确删除。
这里有什么我想念的吗?
如果您想要一个真实姓名的场景,请告诉我。 感谢。