最终执行结果,用户表和日志表都没有添加任何数据 。
执行流程描述:
总结Spring 事务传播机制是包含多个事务的方法在相互调用时,事务是如何在这些方法间传播的 。事务的传播级别有 7 个,支持当前事务的:REQUIRED、SUPPORTS、MANDATORY;不支持当前事务的:REQUIRES_NEW、NOT_SUPPORTED、NEVER,以及嵌套事务 NESTED,其中 REQUIRED 是默认的事务传播级别 。
- UserController 中调用了 UserService 的添加用户方法,UserService 使用 NESTED 循环嵌套事务,并成功执行了添加用户的方法 。
- UserService 中调用了 LogService 的添加方法,LogService 使用了 NESTED 循环嵌套事务,但在方法执行中出现的异常,因此回滚了当前事务 。
- 因为 UserService 使用的是嵌套事务,所以发生回滚的事务是全局的,也就是说 UserService 中的添加用户方法也被回滚了,最终执行结果是用户表和日志表都没有添加任何数据 。
是非审之于己,毁誉听之于人,得失安之于数 。
公众号:Java面试真题解析
面试合集:https://gitee.com/mydb/interview
经验总结扩展阅读
- 如何评价小说阴阳刺青师
- 关于2021年来了心情说说短语
- 法拉第的名言
- 普通话考试命题说话三分钟多少字
- 灵尊之子司进小说叫什么
- 十月围城这小说谁写的十万火急
- 心情不好的抖音说说
- 关于乐谱的一个简单的知识
- 厨房吊顶用什么颜色好
- 晚安唯美正能量句子