Spring Boot事务管理

事务管理

事务进阶

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

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

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

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

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

案例

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

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

相关推荐
若鱼19198 小时前
SpringBoot4.0新特性-Null-safety消灭空指针
java·spring
丶小鱼丶8 小时前
并发编程之【Java中的Thread类】
java
摇滚侠8 小时前
IDEA Maven 项目打包标准使用指南
java·maven·intellij-idea
阿里-于怀8 小时前
Kubernetes 官方再出公告,强调立即迁移 Ingress NGINX
java·大数据·数据库·ingress nginx
女王大人万岁8 小时前
Go语言JSON标准库(encoding/json):功能解析与实战指南
服务器·开发语言·后端·golang·json
.ZGR.8 小时前
从游戏到实战的线程进阶之旅:智能无人机防空平台
java·开发语言·无人机
JMchen1238 小时前
Android TCP连接实战:详解一个高效可靠的TCP客户端实现
android·java·经验分享·网络协议·tcp/ip·移动开发·android-studio
NWU_白杨8 小时前
智能无人机平台V4
java·开发语言·无人机
小高Baby@8 小时前
Go语言中面向对象的三大特性之继承的理解
开发语言·后端·golang
小高Baby@8 小时前
Go语言中面向对象的三大特性之封装的理解
开发语言·后端·golang