这个要从对象的属性说起,如果这个对象处于持久状态,那么只要commit的时候,就会和数据库进行同步。在你这里,每个obj都是持久状态了,所以其实越向后,你的持久对象越多,每次都是要把你这个提交的。也就是说,执行完了,就应该把状态转换为游离态。
主动
在tx.commit后加session.close();

解决方案 »

  1.   

    http://spaces.msn.com/members/jimmiao/Blog/cns!1pz20pn06DgckTGjakCyVZJQ!139.entry
      

  2.   

    miaoliujun(傲龙) 回答觉的很有道理,楼主说:也就是说只要有一个出错了,那么后面的都会出同样的问题,即使他们不应该出错。 这个应该在java程序的都是这个情况的,只要前面的发生cacth,后面的也会发生
      

  3.   

    操作第一个循环时出错了,hibernate可能会将session关闭?所以至后面操作无法继续