hibernate循环执行update()时,问题详解

来源:互联网 发布:php支付接口开发教程 编辑:程序博客网 时间:2024/05/22 10:37


Answer answer=new Answer();  //for循环外new

for(int i=0;i<answerids.length;i++){
answer=(Answer) session.load(Answer.class,new Long(answerids[i]));
answer.setStatus("答案");
session.update(answer);
}
tra.commit();
.......................
//以上代码可以正常更新相应的Answer数据.

.......................
for(int i=0;i<answerids.length;i++){
Answer answer=new Answer();     //for循环内new
answer=(Answer) session.load(Answer.class,new Long(answerids[i]));
answer.setStatus("答案");
session.update(answer);
}
tra.commit();
.......................
//该处只更新最后一条数据

Answer answer=new Answer();

如果把Answer answer=new Answer();     放入for循环里面,回执行两次。

原创粉丝点击