首页 > 其他 > 详细

异常:Transaction not successfully started

时间:2018-11-01 11:28:15      阅读:190      评论:0      收藏:0      [点我收藏+]
异常:org.hibernate.TransactionException: Transaction not successfully started
错误代码:
service层
        Session session = HibernateUtils.getCurrentSession();
        //....数据库操作语句(调用dao层)
        Transaction tx = session.beginTransaction();
        tx.commit();
dao层
    Session session = HibernateUtils.getCurrentSession();
        //....数据库操作语句 
        Transaction tx = session.beginTransaction();
        tx.commit();

异常详情:

![](http://i2.51cto.com/images/blog/201811/01/b3a475128fe693546c7d8d34cefac421.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

一翻检查分析后发现原因:

原来是我在同一个线程中创建了两个事务对象,
这违背了事务ACID特性中的 Isolation隔离性。

解决方案:

只要把dao层重复的事务代码去掉即可,如下:
    Transaction tx = session.beginTransaction();
    tx.commit();

异常:Transaction not successfully started

原文:http://blog.51cto.com/14008076/2311437

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!