• Transaction not successfully started


      在调试的过程当中,遇到了org.hibernate.TransactionException: Transaction not successfully started

    到网上查了一下资料,网友反应说是session的关系,我是直接获取HibernateTemplate的session,然后beginTransaction(),

    这样出现上述的错误,改为openTransaction的话,问题解决了。

    原来的代码如下:


    try{
    Transaction transaction = super.getHibernateTemplate().getSession().beginTransaction();
    super.saveAll(list);
    super.deleteAll(mainList);
    transaction.commit();
    }catch(Exception e){
    e.printStackTrace();
    LOGGER.error("多条日志详细信息记录转储失败",e);
    }

    修改成如下的代码问题得到了解决:

    Session session = super.getHibernateTemplate().getSessionFactory().openSession();
    try{
    Transaction transaction = session.beginTransaction();
    super.saveAll(list);
    super.deleteAll(mainList);
    transaction.commit();
    }catch(Exception e){
    e.printStackTrace();
    LOGGER.error("多条日志详细信息记录转储失败",e);
    }finally{
    session.close();
    }

  • 相关阅读:
    UPD通信
    异常处理
    网络编程-套接字(socket)
    数据分析(一)
    爬虫存储库之mongodb数据库(四)
    爬虫请求库selenium(三)
    爬虫解析库beautifulsoup(二)
    爬虫简介与request库(一)
    flask框架数据库之SQLAlchemy
    flask框架(四)
  • 原文地址:https://www.cnblogs.com/yurujun/p/3620412.html
Copyright © 2020-2023  润新知