hibernate3 Transaction not successfully started报错求助Session session = getSession();session.beginTransaction();session.save(object);session.getTransaction().commit();正常,不报错_____________________________分割线________________________
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 16:59:52
![hibernate3 Transaction not successfully started报错求助Session session = getSession();session.beginTransaction();session.save(object);session.getTransaction().commit();正常,不报错_____________________________分割线________________________](/uploads/image/z/13846460-68-0.jpg?t=hibernate3+Transaction+not+successfully+started%E6%8A%A5%E9%94%99%E6%B1%82%E5%8A%A9Session+session+%3D+getSession%28%29%3Bsession.beginTransaction%28%29%3Bsession.save%28object%29%3Bsession.getTransaction%28%29.commit%28%29%3B%E6%AD%A3%E5%B8%B8%2C%E4%B8%8D%E6%8A%A5%E9%94%99_____________________________%E5%88%86%E5%89%B2%E7%BA%BF________________________)
hibernate3 Transaction not successfully started报错求助Session session = getSession();session.beginTransaction();session.save(object);session.getTransaction().commit();正常,不报错_____________________________分割线________________________
hibernate3 Transaction not successfully started报错求助
Session session = getSession();
session.beginTransaction();
session.save(object);
session.getTransaction().commit();
正常,不报错
_____________________________分割线______________________________
getSession().beginTransaction();
getSession().save(object);
getSession().getTransaction().commit();
这样就报错了,唯一的区别就是上面多了一个
Session session = getSession();这个而已……
hibernate3 Transaction not successfully started报错求助Session session = getSession();session.beginTransaction();session.save(object);session.getTransaction().commit();正常,不报错_____________________________分割线________________________
以我个人的推断的话,因为你getSession(); hibernate都会去重新new 一个session对象出来 也就是说getSession().beginTransaction(); 这个session开启了事物 session.beginTransaction();这个又是一个新的session 这个session保存了object对象 session.getTransaction().commit();这个session 提交事务.这个事务不是又一个session开启 执行语句 提交事务 最终导致报错.从报的错误 ransaction not successfully started 致可以读出,是说你的事务没有成功的开启,据我目测,应该是最后提交事务的那一句话报错,你把最后一句话
getSession().getTransaction().commit();
删了.执行一遍.如果说不报错了.就能证明,我上面说的;当然,这只是我的推论而已.不过你自己可以测试一下