需要将一个字段更新为记录堆中的相同值。使用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);
}
}
干杯。
答案 0 :(得分:1)
一般情况下,不应该以可能被视为“正常ORM”的方式进行批量更新,正如您所描述的那样,循环遍历每个对象。
任何合理的ORM都有一种机制让您按照建议运行正常的SQL更新语句,这通常是正确的方法。
仅仅因为您使用ORM并不意味着您无法利用下面的基于关系集的系统。当对象有意义时使用对象,并在SQL有意义时使用SQL。