Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nhibernate nhibenrate中的多行更新_Nhibernate_Fluent Nhibernate_Hql - Fatal编程技术网

Nhibernate nhibenrate中的多行更新

Nhibernate nhibenrate中的多行更新,nhibernate,fluent-nhibernate,hql,Nhibernate,Fluent Nhibernate,Hql,所以我想知道是否最好使用hql查询更新数据库中的多行,或者在修改每个对象后调用nhibernates save。。我知道答案是HQL查询,但请给我足够的理由。 但是使用HQL查询权限有一些缺点,比如我的API对模型有很强的依赖性,如果属性名称有任何更改,我必须显式地记住这个查询的存在 因此,如果是的话,请量化利弊 谢谢。等待您的回答。如果您将HQL update语句声明为命名查询,NHibernate将在构建会话工厂时对其进行验证,如果出现任何错误,将抛出。因此,如果您曾经更改属性名称,而忘记更

所以我想知道是否最好使用hql查询更新数据库中的多行,或者在修改每个对象后调用nhibernates save。。我知道答案是HQL查询,但请给我足够的理由。 但是使用HQL查询权限有一些缺点,比如我的API对模型有很强的依赖性,如果属性名称有任何更改,我必须显式地记住这个查询的存在

因此,如果是的话,请量化利弊


谢谢。等待您的回答。

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

单独加载和保存每个对象是一个相当大的性能问题,在我看来,我总是尽可能让数据库完成它的工作