mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
ROPAGATION_NESTED:如果当前存在事务,就在嵌套事务内执行;如果当前没有事务,就执行与PROPAGATION_REQUIRED类似的操作,子事务回滚外部主事务也会受到影响进行回滚 ``` @service public class UserInvokeService { @Autowired private UserService userService; @resource private UserMapper userMapper; @transactional public void invokeUserService() { User user = new User(); user.setName("zxx"); user.setAge(333333); userMapper.insert(user); userService.insertData(); } } @service public class UserService { @resource private UserMapper userMapper; @transactional(propagation = Propagation.NESTED) public void insertData() { User user = new User(); user.setName("inserByNested"); user.setAge(2222); userMapper.insert(user); int a = 1 / 0; } } @SpringBootTest public class TransactionalTest { @Autowired UserService userService; @Autowired UserInvokeService userInvokeService; @test public void testTransaction() { userInvokeService.invokeUserService(); } } ```