永发信息网

org.hibernate.TransactionException:nested transaction not supported.

答案:2  悬赏:60  手机版
解决时间 2021-03-16 17:14
  • 提问者网友:夢醒日落
  • 2021-03-16 07:55
Transaction transaction= session.getTransaction();
transaction.begin();
transaction.commit();
HibernateSessionFactory.closeSession();
transaction只开始了一次,而且最后也提交了,但是还是会出现异常
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-03-16 08:32
你在try中打开过事务了,完了catch中又打开,这造成了事务的嵌套,是不允许的
你应该在try开始前先声明事务
Transaction tran = session.beginTransaction();
try
{
.....
tran.commit();
session.close();

}
catch (...)
{
tran.rollback();
}
不应该是每次都调用beginTransaction()方法
全部回答
  • 1楼网友:摆渡翁
  • 2021-03-16 10:00
  for (guestbook gb:list){
   system.out.print("id:"+gb.getid());
   system.out.print("name:"+gb.getname());
   system.out.print("email:"+gb.getemail());
   system.out.print("phone:"+gb.getphone());
   system.out.print("title:"+gb.gettitle());
   system.out.print("content:"+gb.getcontent());
   system.out.println("createdtime:"+gb.getcreatedtime());
   
   
   tx.commit();
  }
这个地方的事物应该在所有数据操作完毕后再提交
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯