Spring · 单选题 · 第 53 题
Java 后端开发面试 · 第 53 题
事务传播行为 REQUIRES_NEW 的含义是?
- A如果当前已有事务就加入它,没有事务才新建
- B在当前事务中创建保存点,作为嵌套事务执行
- C以非事务方式执行,当前存在事务时直接抛出异常
- D总是新建一个事务;如果当前已有事务,就先把它挂起
答案
D D. 总是新建一个事务;如果当前已有事务,就先把它挂起
解析
REQUIRES_NEW 的内层事务独立提交或回滚,外层事务回滚不影响它,常用于无论如何都要落库的操作日志。加入当前事务是默认的 REQUIRED,保存点是 NESTED,以非事务方式执行且有事务就报错是 NEVER。注意挂起的外层事务会一直占着连接。