transaction 事务 spring 常用的传播事务是:required,required_new,nested
特征:经过源码得出,事务由数据库链接和事务状态两部分组成;
两个带required 的事务方法调用:required ,当有事务存在时第二个事务会加入第一个事务,两个方法两个不同的事务但是是同一个链接;
一个带required 的@Transaction事务方法调用另外一个required_new 的事务方法:
带required_new 的方法会将第一个带required事务方法挂起,新生成一个事务 该事务拥有一个新的数据库的链接
一个带required 的@Transaction事务方法调用另外两个nested 的事务方法:
每一个带nested的事务都会 设置回滚点,以助于事务的回滚,并且该回滚若想不影响其他另外一个事务必须在顶层事务吞掉事务异常