2012-09-26 38 views
0

请告诉我做这样的查询的最佳方式,这将更新多行:ColdFusion的9 ORM更新一次多行

UPDATE B 
    SET col_a = 1 
    Where col_a = 0 

我可以加载实体然后循环他们做EntitySave对于每一个,但这似乎是矫枉过正。我应该使用HQL进行更新吗?我可以使用HQL进行更新吗?

+1

有些时候ORM没有意义,这可能就是其中之一。如果运行更新查询是有意义的,只需使用''。 – Henry

回答

1

使用ORMExecuteQuery绝对可以在多行上运行更新。这是我在一个项目上工作的一个例子:

ORMExecuteQuery("UPDATE Part SET ReleaseDate = :ReleaseDate, ChangeNote = :ChangeNote WHERE ID IN (#Arguments.PartIDs#)", {ReleaseDate = Arguments.ReleaseDate, ChangeNote = Arguments.ChangeNote}); 

易为......请注意,您作为:VarName指定参数和养活他们为ORMExecuteQuery函数的第二个参数。