2010-09-27 59 views
0

所以我想知道是否最好使用hql查询更新数据库中的多行或修改每个对象后调用nhibernates保存..我知道答案是HQL查询,但请给我充分的理由相同。 ,但是使用HQL查询有一些缺点,就像我的API对模型有硬依赖关系,如果属性名称中的任何更改都明确记住了此查询的存在。nhibenrate多行更新

因此,请量化后,如果是的话,这样做的弊大于弊。

谢谢。等待你的答案。

回答

0

如果您将HQL更新语句声明为命名查询,那么NHibernate将在构建会话工厂时验证它,并在出现错误时抛出。所以如果你改变一个属性名称并且忘记改变你的应用程序启动时会抛出的HQL(即快速失败),这样就可以使它非常安全。

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