Spring Boot事务管理

事务管理

事务进阶

如果在删除了部门之后,出现了异常。那么就会出现部门被删除之后其中的员工并未被删除。

@Transactional注解,在事务执行完成之后自动提交或者回滚。只需要在执行多次数据修改的事务上加上该注解即可。(比如两次Update或者两次Delete,思考:Update加Select呢?)

只有运行时异常才会被上面的注解回滚

这样设置表示出现所有异常都会回滚

表示A和B两者之间的传播关系

案例

将记录日志的操作放在Finally中,这样无论是否抛出异常都会执行下面的语句

因为默认为Required传播方法,所以这两个事务实际上是同一个事务。所以在第一个事务抛出异常之后直接进行了回滚,不会继续执行insert操作。只需要将事物的propagation参数设置成Requires_New即可。

相关推荐
Csvn8 分钟前
Docker 进阶 — 网络模型、数据持久化与多阶段构建
后端
用户42792540517111 分钟前
《微博开放平台官方CLI开源了:70+API一行搞定,AI Agent原生支持》
后端
Csvn12 分钟前
文本处理三剑客 — grep、sed、awk 实战精讲
后端
sarasuki15 分钟前
JavaScript的对象、new的机制与原型包装类
javascript·后端
咖啡八杯18 分钟前
GoF设计模式——命令模式
java·设计模式·架构
某鹏18 分钟前
java伪共享问题的稳定解法
后端
fliter24 分钟前
Rust 不是手动内存管理:它是声明式内存管理
后端
AI人工智能_电脑小能手24 分钟前
【大白话说Java面试题 第125题】【并发篇】第25题:说说 Java 线程的中断机制
java·后端·面试
fliter28 分钟前
Box 里到底装了什么:从 Go interface 到 Rust trait object
后端
Java内核笔记32 分钟前
Spring Security 源码解析(六)无状态 JWT 实践:Session 共享与自定义过滤器
java·后端