在做删除2张表的时候 A表的数据没有和别的表关联,B张表的id关联了 所以在serviceimpl中分2次调用dao里面的2个删除方法 在删除B表的时候出异常 所以想加一下try 结果事务就不回滚 直接把A表的数据删除了,在网上查了下说spring加了try就不回滚了,想问一下有没有加了try可以回滚的方法。因为不加try 出现异常一下的代码就不执行了 所以在业务上存在点问题到底spring能不能加try 做到事务回滚

解决方案 »

  1.   

    可以考虑在catch段里面再throw exception,这样spring就可以事务回滚了
      

  2.   

    你应该要的结果是:不管怎样先删除A的记录,b的记录能删则删,不能删的话就算了。
    如果是这样,你在删除b的那段代码加上try就行了。a的删除在try外面
      

  3.   

    catch 里别做别的处理 throw new RuntimeException(e)就ok了
      

  4.   

    我猜楼主的意思是不是要con.setAutoCommit(false),在catch的时候用con.rollback()
      

  5.   

    http://hi.csdn.net/invite.php?u=3370434&c=9cb528505d2f42a0 加好友