关于java:Transaction-的rollbackFor作用是什么

25次阅读

共计 552 个字符,预计需要花费 2 分钟才能阅读完成。

咱们在写代码的时候,特地是用到事务注解的时候,往往就是加一下 @Transaction,或者 @Transaction(rollbackFor = Exception.class), 却没有想过加和不加有什么区别,rollbackFor 能够写哪些值。
明天咱们就把这个讲清楚

是什么

@Transaction 是 spring 治理事务的注解,如果某个办法须要更新数据,那么就须要增加该注解,否则就无奈保留胜利。

默认什么都不写

这种状况,rollbackFor 的默认值为 UncheckedException(mark, 什么是 UncheckedException, 下一篇文章学习), 包含 RuntimeException 和 Error
当咱们间接应用 @Transactional 不指定 rollbackFor 时,默认会回滚运行时异样及其子类,也就是 RuntimeException 及其子类,如果产生了 Exception 异样就不会回滚,因为 Exception 是 RuntimeException 的父类。

指定异样

咱们个别都指定 rollbackFor= Exception.class, 标识如果是 Exception 类型的异样都会回滚,Exception 是所有异样的父类,这样就都能回滚了。

异样关系图如下

本文由博客一文多发平台 OpenWrite 公布!

正文完
 0