spring事务面试
spring的事务传播行为是指在一个事务性的环境中,一个事务方法被另一个事务方法调用时,明确这两个方法之间的事务应该如何交互和控制。
这里涉及到事务的边界 隔离性 以及如何确保数据一致性的问题。
由于事务嵌套本身存在场景的多样性,所以spring提供了7个事务传播行为,供用户选择,来满足不同的场景。
第一个required 如果当前存在事务则加入该事务,如果没有则创建新的事务。
第二个required_new 无论当前是否存在事务都创建一个新的事务(挂起当前事务)。
第三个supports (支持当前事务)如果当前存在事务则加入该事务,如果没有则按非事务的方式运行。
第四个not_supported (不支持当前事务)以非事务的方式运行,如果当前存在事务则挂起当前事务。
第五个mandatory 强制性的,如果当前存在事务则加入该事务,如果当前不存在事务,则报错。
第六个never 以非事务的形式运行,如果当前存在事务则报错。
第七个nested 嵌套事务

浙公网安备 33010602011771号