Comments 8
весь проект в прямом смысле слова покраснел:
А всё потому, что вы не использовали дополнительную прокладку в виде service над репозиториями. Нсли бы она была, красноты стало бы существенно меньше.
0
Дело не в прослойке, а в ошибках компиляции.
@Service
@RequiredArgsConstructor
public class Service
private final SomeRepository someRepository;
@Transactional
public void foo(long id) {
SomeEntity something = someRepository.findOne(someId);
if (something == null) {
something = someRepository.save(new SomeEntity());
}
useSomething(something);
}
На СБ1 (для которого Спринг Дата 1.*) это работает, на СБ2 (для которого Спринг Дата 2.*) нужно:
- вызывать другой метод
- сменить тип переменной something на
Optional<SomeEntity>
- заменить проверку пустой ссылки на
Optional::isPresent
или цепочкуOptional::orElse/Optional::orElseGet
И так в каждом сервисе.
0
Спасибо за статью. Жаль, что так мало =)
0
Обращайтесь :)
Ещё больше интересного в докладах Владимира
https://www.youtube.com/watch?v=8jNXZXdb3no
https://www.youtube.com/watch?v=fmLW7VkSuN8
0
Sign up to leave a comment.
На горе стоит Spring Boot…