nhibernate中的多行更新

时间:2010-09-27 19:12:30

标签: nhibernate fluent-nhibernate hql

所以我想知道最好是在使用hql查询更新数据库中的多行还是在修改每个对象后调用nhibernates save ..我知道答案是HQL查询但是请给我足够的理由。 但是使用HQL查询有一些缺点,比如我的API对模型有很大的依赖性,如果属性名称有任何变化我要明确记住这个查询的存在。

在量化之后,如果是的话,那么专业人士的利弊也是如此。

感谢。等待你的回答。

1 个答案:

答案 0 :(得分:0)

如果您将HQL更新语句声明为命名查询,NHibernate将在构建会话工厂时对其进行验证,并在出现任何错误时抛出。因此,如果您更改了属性名称并忘记更改HQL,它将在您的应用程序启动时抛出(即快速失败),这样就可以非常安全。

单独加载和保存每个对象是一个非常大的性能影响IMO,我总是试图让数据库尽可能地完成它的工作。