shuidexiongdi
shuidexiongdi
2011-09-01 18:15

为何事务不能回滚?

已采纳

weblogic下的ejb出现异常,代码跟踪已经执行回滚代码了,为何中间操作数据库的数据行为不能回滚到事务开始前?
说明:1、中间很多方法都是用statment做参数,同一个statment的传参
2、应用和数据库服务的网咯连接比较慢。

求解

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • li28544071 li28544071 10年前

    你应该要清楚的是事务是建立在连接上的。而不是statment。

    先在你的执行方法里面使用statment.getConnection().getAutoCommit()是不是为false。

    又或者传参的时候的statment对象不是同一个Connection创建的。可以使用statment.getConnection()输出到控制台看看。

    你没有附上代码很难准确定位到问题。自己设置断点调试一下吧。

    点赞 评论 复制链接分享
  • itcastcom 赵子阳 10年前

    总之一句话,从事务开始,到结束,必须保证是用一个connection连接,否则,部分事务无法回滚。并把事务设置为手动提交。

    点赞 评论 复制链接分享
  • AngelAndAngel AngelAndAngel 10年前

    有嵌套事务么?

    点赞 评论 复制链接分享