问题描述
|
我有父子关系,子集合被映射为惰性。我获取一个父级,当然是由于延迟加载而未加载子级集合。但是,当我要更新父级NH时,首先加载子级集合。我很有趣是默认情况下还是我在某个地方出错了。集合是惰性的,inverse = true,并且cascade = \“ all-delete-orphan \”。我假设由于级联映射,NH要检查子集合上的更改,并且第一次访问它,因此延迟加载完成了它的工作。请有人确认一下。
解决方法
更新父对象时,除非您要修改外键关系列,否则NHibernate不必加载子集合。
逆= \“ true \”
这意味着子集合中的对象负责管理与父集合的关系。
级联= \“全部删除孤儿\”
向集合中添加新的子对象时,它将级联到数据库,而无需先显式调用Session.Save(childobj)。这也意味着,如果删除父对象,则所有子集合对象也将从数据库中删除。
我将这些确切的设置用于我的孩子收集关系,但看不到此行为。
您能否发布您的地图/流利地图/测试代码,以便对当前问题有更多了解?