Spring Boot事务管理

事务管理

事务进阶

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

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

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

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

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

案例

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

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

相关推荐
tumeng071118 分钟前
Spring详解
java·后端·spring
深邃-25 分钟前
【Web安全】-基础环境安装:虚拟机安装,JDK环境安装(1)
java·开发语言·计算机网络·安全·web安全·网络安全·安全架构
小雅痞27 分钟前
[Java][Leetcode hard] 135. 分发糖果
java·算法·leetcode
q54314708728 分钟前
基于Spring Boot 3 + Spring Security6 + JWT + Redis实现登录、token身份认证
spring boot·redis·spring
jwt79392793732 分钟前
Spring之DataSource配置
java·后端·spring
黑牛儿32 分钟前
Swoole协程 vs Go协程:PHP开发者一看就懂的实战对比
后端·golang·php·swoole
Rust研习社34 分钟前
深入理解 Rust 裸指针:内存操作的双刃剑
开发语言·后端·rust
j_xxx404_40 分钟前
深入理解Linux底层存储:从物理磁盘架构到文件系统(inode/Block)原理
linux·运维·服务器·后端
逻辑驱动的ken40 分钟前
Java高频面试场景题07
java·开发语言·面试·职场和发展·求职招聘·春招
slarymusic1 小时前
解决报错net.sf.jsqlparser.statement.select.SelectBody
java