hibernate循環執行update()時,問題詳解


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循環裏面,回執行兩次。

發佈了30 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章