关于@Transactional(rollbackFor = java.lang.Exception.class)无法控制事务回滚的情况

最近一个新增方法,新增一条记录的同时需要在另外两张表里新增一条记录,所以这三条记录需要用到事务控制:要么都成功,要么有一个报错则都不添加。

于是在方法名上加了如下代码控制:

@Transactional(rollbackFor = java.lang.Exception.class)

并有catch 到Exception。

但出现的结果是:

数据表1里加入了数据,表2、表3里没有加入数据(我在表1新增方法后写了个异常1/0--之前的异常是空指针--不过无所谓了)。

期望的效果应该是 表1表2表3 均不加入记录。

原文地址:https://www.cnblogs.com/wuhu/p/8566624.html