2010-01-04 126 views

回答

1

如果你没有在这个任何其他方式使用该业务对象,我想我会旁路NHibernate在这种情况下。即:不要使用HQL,而是发出本机SQL查询。 (NHibernate允许你这样做;检查ISession的CreateSQLQuery)。

为什么要这样做? 因为,当你使用HQL发出这样的查询时,我认为NH将从数据库中提取每个实体,更改它的属性,然后更新其对应的行。想象一下性能受到影响。 但是,我认为HQL不支持UPDATE查询(但我可能会误以为是)。

相关问题