0

需要将一个字段更新为一堆记录中的相同值。使用 DAO/ORM 结构,我将检索每个父对象,遍历每个子对象,更新它的字段,然后保存它。

只写 SQL 会更快:update table set field = value where criteria = specified。

我如何将这些东西组合在一起?我是否坚持使用 dao 结构:

for (Table t : getTableDao().getTables()){  
  for(Child c : t.getChildren()){  
    c.setValue(1);  
    getChildrenDao().save(c);  
  }
}

干杯。

4

1 回答 1

1

通常,不应以可能被视为“正常 ORM”的方式进行大规模更新,正如您所描述的那样,循环遍历每个对象。

任何合理的 ORM 都有一种机制让您按照您的建议运行正常的 SQL 更新语句,这通常是正确的方法。

仅仅因为您使用的是 ORM 并不意味着您不能利用下面的基于关系集的系统。当对象有意义时使用对象,当 SQL 有意义时使用 SQL。

于 2009-11-27T11:11:56.690 回答