Case:
API ниже был вызван полностью и дважды одновременно.
@PostMapping("/user")
public void postUser(@RequestBody UserRequest userRequest) {
isolationService.postUser(userRequest);
}
@Transactional
public void postUser(UserRequest userRequest) {
userRepository.findByName(userRequest.getName()).ifPresent(user -> {
throw new RequestExceptions.ConflictException();
});
User user = User.builder().name(userRequest.getName())
.build();
userRepository.save(user);
}
Результат:
|id |name|
|---|----|
|1 |test|
|2 |test|
Не конфликтует .
Как я могу решить эту проблему, не используя уникальные столбцы?