事务的嵌套

什么是嵌套事务?
嵌套是子事务在父事务中执行,子事务是父事务的一部分,在进入子事务之前,父事务建立一个回滚点,叫save point,然后执行子事务,这个子事务的执行也算是父事务的一部分,然后子事务执行结束,父事务继续执行。

可以通过下述的问答进一步去熟悉嵌套事务?

  1. 如果子事务回滚,会发生什么?
    父事务会回滚到进入子事务前建立的save point,然后尝试其他的事务或者其他的业务逻辑,父事务之前的操作不会受到影响,更不会自动回滚。
  2. 如果父事务回滚,会发生什么?
    父事务回滚,子事务也会跟着回滚!为什么呢,因为父事务结束之前,子事务是不会提交的,我们说子事务是父事务的一部分,正是这个道理。
  3. 事务的提交,是什么情况?
    父事务先提交,然后子事务提交,还是子事务先提交,父事务再提交?答案是第二种情况,还是那句话,子事务是父事务的一部分,由父事务统一提交。

原文链接:https://blog.csdn.net/javashareauthor/article/details/82842177