weblogic下的ejb出现异常,代码跟踪已经执行回滚代码了,为何中间操作数据库的数据行为不能回滚到事务开始前?
说明:1、中间很多方法都是用statment做参数,同一个statment的传参
2、应用和数据库服务的网咯连接比较慢。
求解
你应该要清楚的是事务是建立在连接上的。而不是statment。
先在你的执行方法里面使用statment.getConnection().getAutoCommit()是不是为false。
又或者传参的时候的statment对象不是同一个Connection创建的。可以使用statment.getConnection()输出到控制台看看。
你没有附上代码很难准确定位到问题。自己设置断点调试一下吧。
有嵌套事务么?
总之一句话,从事务开始,到结束,必须保证是用一个connection连接,否则,部分事务无法回滚。并把事务设置为手动提交。