今天导入excel记录,导入失败。但事务并不回滚。记录一下原因。本人犯的错误是第二点
1、@Transactional 应用在非 public 修饰的方法上
有时候会大意,在private方法上添加事务注解。这会导致事务失效
2、try…catch。catch捕获到异常,一定要再抛出,不然catch会吞掉异常,导致事务失效。还有一种情况是,同一个类中,A方法添加事务注解,A方法调用B方法,然后B方法抛出异常被A捕获。这种情况下,事务也不能回滚。
3、同一个类中多方法调用。比如A方法----->调用B方法。但我们把事务加到B方法上,A方法没有加。这个也会导致B方法上的事务失效。
4、数据库引擎不支持
推荐https://blog.csdn.net/qq_45682433/article/details/115941815