2010-12-22 30 views
0

我有A,B和CNHibernate的级联删除的另一位家长

B是A
℃的孩子是B的孩子,但B是不是C的父(即不 '有-A' ç - 单向关系)

ç级联删除到B

,所以如果我:

Session.Delete(C); 

B就已经被删除,然而,仍然有它的参考,我得到一个“将被重新保存“的例外。无论如何,如果不是先从A的藏品中删除B,那还有没有呢? (这不是一个巨大的问题,只是增加了额外的代码,我没有看到必要)。

回答

1

反正有没有从A的收藏中删除B?

不.B的实例即使在从数据库中删除后仍保留在代码中。删除真的意味着在刷新会话时变为非持久性。如果A在级联打开的集合中具有B实例,则在删除之后它将被重新插入。

+0

好吧,这很有意义,我只是想确认。 – DannyT 2010-12-22 21:32:26