SSH整合遇到的bug(一)org.hibernate.TransactionException: nested transactions not supported
出现这个bug的在做修改功能的时候出现,第一次修改提交后,第二次所有的请求都发不出去,代码获取session用的是open,于是修改为getCurrentSession();之后出现如上错误,百度方法如下:

方法:解决方法是去掉

session.beginTransation();

session.getTransaction().commit();

这样问题就解决了!

可是这样还是会报错,Could not obtain transaction-synchronized Session for current thread  继续百度,如下:

方法:在dao层加上@Transaction注解,再运行ok了


加上注解后再次出现 nested transactions not supported,继续百度,如下

方法:session一直存在,那么,这个session获取的事务,只要有一处完成了开启,那么后期处理的时候,全部都是开启的。无需再次开启。否则就会引起事务嵌套问题而报错。

- 问题的关键在于分清楚,到底谁是目标方法,其它的切面以及advisor的执行时机。


于是删除dao层代码中的所有tx = session.beginTransaction();


项目至此不在出错!不明所以,只知能用


阅读更多
个人分类: SSH bug集锦
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

SSH整合遇到的bug(一)org.hibernate.TransactionException: nested transactions not supported

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭