Всегда встречаю такой слой сервиса над слоем репозитория
Бизнес логика идет всегда выше.
Для чего он нужен? Только для валидации?
@Service
public class Service1 {
private final Repository1 repository;
@Transactional(propagation = Propagation.MANDATORY)
public Optional<Entity1> getAndLockById(@NotBlank final String name) {
return repository.findWriteLockedByName(name);
}
public List<Entity1> getAll() {
return repository.findAll();
}
public Entity1 save(@Valid final Entity1 entity1) {
return repository.save(entity1);
}
public boolean existsById(final String name) {
return repository.existsById(name);
}
public Optional<Entity1> getWriteLockedById(final String name) {
return repository.findWriteLockedByName(name);
}
public void delete(@Valid final Entity1 existent) {
repository.delete(existent);
}
}