dubbo分布式系统下Java,mybatis一个update语句,有的字段更新,有的字段偶尔不更新的情况,有没有解决办法?
以下是部分代码片段
@Slf4j
public class UserSaveImpl implements UserSaveFacade {
@Autowired
private UserSaveService userSaveService;
@Override
@Transactional(rollbackFor = Exception.class)
public void save(Long logId, Long userId, String op) throws Exception {
try {
Map re = userSaveService.update(logId, userId, op);
} catch (Exception e) {
throw new BizRuleException(e.getMessage());
}
}
}
@Slf4j
@Service
public class UserSaveService {
@Autowired
private UserSaveMapper userSaveMapper;
@Autowired
private LogSaveMapper logSaveMapper;
public Map update(Long logId, Long userId, String op) throws Exception {
try {
Map re = new HashMap();
LogSave logsave = logSaveMapper.selectByLogId(logId);
if(!ObjectUtils.isEmpty(logsave)){
//更新操作
User user = new User();
user.setName("张三");
user.setValidFlag("1");//偶尔会有这个标志更新不掉
user.setNote("已更新");
user = userSaveMapper.update(user);
}
re.put("logId", logId);
re.put("user ", user);
return re;
} catch (Exception e) {
throw new BizRuleException(e.getMessage());
}
}
}