@Transactional
public Dto edit(long id, EditCommand command) {
try {
Subclass subclass = repository.findWithLockingById(id)
.orElseThrow();
// if (command.getVersion() != subclass.getVersion()) {
// } generates race condition
service.update(command, subclass);
return mapper.mapToDto(subclass);
}
@Transactional
public Dto edit(long id, EditCommand command) {
try {
Subclass subclass = repository.findWithLockingById(id)
.orElseThrow();
// if (command.getVersion() != subclass.getVersion()) {
// } generates race condition
service.update(command, subclass);
return mapper.mapToDto(subclass);
}