@Transaction 更新后异步再去获取主键id失效
代码里面有些 开启Transanction 事务但是未提交 ,导致使用mq 或者异步时候 ,更新了数据 但是读取不到最新数据
在调用时候使用:
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
@Override
public void afterCommit() {
super.afterCommit();
// 修改个人信息后,异步处理
asyncUserInfoService.updateUserInfo(userInfoDto, loginUserInfo, updateInfo, sourceApp, sourceAppVer, sourceType, token);
}
});
参考:@Transactional 事务提交 与 @Async 异步执行_掉入坑中正在往上爬的猿的博客-CSDN博客