我正在尝试找到有关nHibernate如何决定如何将多个插入批处理在一起的更多信息。显然,如果你有一个相同类型的对象的简单列表,它没有子对象。
在我的应用程序中,我在三个表A,B和C之间有一对多的关系:A有很多B,B有很多C.我使用本机生成器作为A的Id,但对于B和C我只是使用在代码中分配的复合键,因此nHibernate只能进行插入。这些似乎工作正常,我可以正确保存所有对象。
问题是nHibernate似乎不够聪明,试图先批量插入所有A类对象,然后批量插入所有B,最后批量插入所有C.现在,它尝试仅批量处理C类型的对象,如果有多个。
这听起来不错吗?有没有办法改变这种行为?
我的应用程序需要同时添加数百个类型为A,B和C的对象,并且必须逐个执行才是一个很大的性能问题。
答案 0 :(得分:1)
如果有人需要任何帮助,nHibernate确实无法批量插入不同树中的对象。在我的应用程序中,我最终修改了对象结构,使nHibernate满意。