有一个父实体有一个子实体集合(cascale = all),每个子实体都有一个子孙实体集合(cascale = all)。
给定一个会话,我创建一个祖母并将其添加到父级子级中的子级,因为我还修改了层次结构中的其他一些对象,我在根(父级)上调用了Session.SaveOrUpdate。 / p>
在此之后,我需要爷爷实体的id,但它是0。
现在,如果我另外在祖母上调用Session.SaveOrUpdate,那么我可以得到它的新id。这是正常的行为吗?将级联设置为all,我会认为在保存父级时我可以获得id。
任何启发?
答案 0 :(得分:1)
SaveOrUpdate,在已经持久的接口上调用时什么都不做。
你可以调用session.Persist(parent)
,它会级联,或者调用session.Save(grandChild)
,因为你已经在做了(这没有什么问题,虽然我不知道你需要的是什么)