为什么在有@Transactional注解的方法,一定要加rollbackFor异常回滚的异常类型?

在spring项目中,@Transactional注解默认会回滚运行时异常(RuntimeException)及其子类

当你在一个有@Transactional注解方法里面抛了一个Expection类型的异常,呢它是不支持事务回滚的,

异常继承体系

我们在一个方法里面要对事务进行操作,如果要抛异常,应该抛出untimeException,不能直接抛出Expection,如果想抛出Expection异常,就得在注解后面加上回滚异常类型rollback=Expection.class

这样我们抛什么异常都可以,以为Expection是一个顶级父类,其他的Expection都直接继承或间接的基础与它

 

posted @ 2024-05-08 17:32  杰Sir"1_v"  阅读(150)  评论(0)    收藏  举报