zoukankan      html  css  js  c++  java
  • 【JavaP6大纲】MySQL篇:传播行为

    传播行为?

    Spring支持7中事务传播行为
    一个场景:假设外层方法里面包含二个新增用户和新增角色的方法,二个方法后面还会抛一个异常。
    propagation_required(需要传播):当前没有事务则新建事务,有则加入当前事务。

    外围方法未开启事务,插入用户表和用户角色表的方法在自己的事务中独立运行,外围方法异常不影响内部插入,所以两条记录都新增成功。
    外围方法开启事务,内部方法加入外围方法事务,外围方法回滚,内部方法也要回滚,所以两个记录都插入失败。

    propagation_supports(支持传播):支持当前事务,如果当前没有事务则以非事务方式执行

    外围方法未开启事务,插入用户表和用户角色表的方法以非事务的方式独立运行,外围方法异常不影响内部插入,所以两条记录都新增成功。
    外围方法开启事务,内部方法加入外围方法事务,外围方法回滚,内部方法也要回滚,所以两个记录都插入失败。

    propagation_mandatory(强制传播):使用当前事务,如果没有则抛出异常

    外围方法开启事务,内部方法加入外围方法事务,外围方法回滚,内部方法也要回滚,所以两个记录都插入失败。
    外围方法没有开启事务,两张表数据都为空,在调用用户新增方法时候已经报错了,所以两个表都没有新增数据。

    propagation_nested(嵌套传播):如果当前存在事务,则在嵌套事务内执行,如果当前没有事务,则执行

  • 相关阅读:
    js正则表达式——数字校验
    php curl cookie 读写
    Java遍历所有网卡打印对应IP
    mysql 查看数据库大小
    执行mvn 报错 source-1.5 中不支持 diamond运算符
    php开学之环境搭建
    ubuntu漂亮主题
    CleanAop使用笔记
    python学习笔记(五)
    python学习笔记(四)
  • 原文地址:https://www.cnblogs.com/javawxid/p/15644433.html
Copyright © 2011-2022 走看看