【发布时间】:2016-07-14 05:41:31
【问题描述】:
我正在尝试在迭代器中执行 update HQL 查询以获取 java 中的多条记录。但是当我执行时,它会通过跳过下一条记录来更新备用记录。如果我只在日志中打印迭代器对象,而不执行更新查询,它会打印所有对象。那么当我在 Iterator 中执行 update 时,为什么它接下来会跳过一个对象?
我的代码:
List<Integer> id = (List<Integer>) myList.list();//I've to update query for each id
for(Iterator < Integer > iter = id.iterator();iter.hasNext();){
System.out.println("id: "+(Integer) iter.next());
int ids = (Integer) iter.next();
Query query =session.createQuery("update MyTable set url =? where id=?);
query.setParameter(0,url);
query.setParameter(1,ids);
query.executeUpdate();
}
如果我在 myList 中有 4 个元素,它只会通过跳过第 1 和第 3 来更新第 2 和第 4。
【问题讨论】:
标签: java hibernate list iterator