Spring框架之@Transactional注解用法(二)

1、@Transactional注解中的属性设置

属性 类型 描述
value String 可选限定符,指定要使用的事务管理器。
propagation 枚举: Propagation 可选的传播设置。
isolation 枚举: Isolation 可选隔离级别。仅适用于传播REQUIRED或REQUIRES_NEW。
timeout int(以秒为单位) 可选事务超时。仅适用于传播REQUIRED或REQUIRES_NEW。
readOnly boolean 读/写与只读事务。仅适用于REQUIRED或REQUIRES_NEW。
rollbackFor Class 对象的数组,必须派生自Throwable. 必须导致回滚的可选异常类数组。
rollbackForClassName 类名数组。类必须派生自Throwable. 必须导致回滚的可选异常类名称数组。
noRollbackFor Class 对象的数组,必须派生自Throwable. 可选的异常类数组,不得导致回滚。
noRollbackForClassName String 类名称的数组,必须派生自 Throwable. 必须不会导致回滚的异常类名称的可选数组。

      

 2、默认 @Transactional 设置如下:

  • 传播设置为 PROPAGATION_REQUIRED.

  • 隔离级别为 ISOLATION_DEFAULT.

  • 事务是读/写。

  • 事务超时默认为基础事务系统的默认超时,如果不支持超时,则默认为none。

  • 任何 RuntimeException 触发回滚,任何已检查的 Exception 都没有。

   

此文希望可以帮助到大家。如有错误,请指教。                                                           

如果大家还有其他的情况或者好的解决方法,也望指教,感谢阅读。 

上一篇:博客系列-2019年时间轴


下一篇:异常的体系,Throwable常用的方法,异常类