1: 将method2方法,事务传播行为改为REQUIRES_NEW, 那么就会将事务隔离开, 也就不会相互影响,不会提示无法回滚的错误.
2: 将method2方法改成非事务方法, 这样就还是在一个事务中, 只不过报错之后不会被标记为回滚, 这样也不会提示无法回滚的错误.
首先 事物不是spring独有的,这是数据库的标准。事物:就是说好比你 *** 作了a、b、c三张表, *** 作了前2张表没问题数据已经改变,但是到第三章表的时候出了问题,这时候你想撤销a、b两张表的 *** 作。以保证数据的一致性。这时候就要用的事物的回滚。
事物回滚在所有的数据库 *** 作里面都有。
spring对事物做了封装。目前有5种方式,这里就不说了,你在去查下资料吧。
回了这么多给个最佳答案吧。
spring使用事务,就是在开始的事务start transaction然后执行sql语句,如果遇到异常(默认RuntimeException才会回滚)rollBack掉,如果一切都正常,才会commit,建议看下数据库的事务欢迎分享,转载请注明来源:内存溢出
评论列表(0条)