spring中事务的传播行为

  • Post author:
  • Post category:其他


Spring中的事务传播行为用于定义一个事务如何在多个方法调用之间传播。

以下是Spring中的事务传播行为:

  1. REQUIRED:默认传播行为,如果当前没有事务,就新建一个事务;如果当前已经存在一个事务中,就加入到该事务中。

  2. SUPPORTS:如果当前已经存在一个事务中,就加入到该事务中,否则就以非事务的方式执行。

  3. MANDATORY:必须存在一个事务,如果当前不存在事务,则抛出异常。

  4. REQUIRES_NEW:如果当前已经存在一个事务,则挂起该事务并开启一个新的事务,直到该新事务完成后,再恢复原先的事务。

  5. NOT_SUPPORTED:以非事务的方式执行操作,如果当前存在事务,则将该事务挂起。

  6. NEVER:以非事务的方式执行,如果当前存在事务,则抛出异常。

  7. NESTED:如果当前存在事务,则在该事务中开启一个嵌套事务,嵌套事务可以独立提交或回滚;如果当前没有事务,则开启一个新事务。

需要注意的是,这些传播行为仅适用于Spring的声明式事务,对于编程式事务,可以使用TransactionTemplate中的传播行为进行管理。



版权声明:本文为qq_35368296原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。