1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00
Mingron 5a44269f13
spring 事务 PROPAGATION_NESTED纠错
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();
    }
}
```
2022-03-10 22:44:23 +08:00
..
2022-03-03 09:14:56 +08:00
2022-02-09 16:01:16 +08:00
2021-12-08 10:18:03 +08:00
2022-03-03 09:14:56 +08:00