为什么在有@Transactional注解的方法,一定要加rollbackFor异常回滚的异常类型?
在spring项目中,@Transactional注解默认会回滚运行时异常(RuntimeException)及其子类
当你在一个有@Transactional注解方法里面抛了一个Expection类型的异常,呢它是不支持事务回滚的,
异常继承体系

我们在一个方法里面要对事务进行操作,如果要抛异常,应该抛出untimeException,不能直接抛出Expection,如果想抛出Expection异常,就得在注解后面加上回滚异常类型rollback=Expection.class
这样我们抛什么异常都可以,以为Expection是一个顶级父类,其他的Expection都直接继承或间接的基础与它

浙公网安备 33010602011771号