Я обновлял зависимости Spring 5 в своем проекте и был обстрелян ошибками компиляции, где определение метода findOne()
было заменено на findById()
которое теперь возвращает Optional
(исправьте меня, если я ошибаюсь).
Во время рефакторинга я сталкивался с несколькими подходами, которые я могу принять, и поэтому мне хотелось бы, чтобы некоторые из них были предпочтительнее.
1-й подход:
ExpectedPackage ep = expectedPackageRepository.findById(1).orElse(null);
if(ep != null){
ep.setDateModified(new Date());
expectedPackageRepository.saveAndFlush(ep);
}
Второй подход:
Optional<ExpectedPackage> ep = expectedPackageRepository.findById(1);
if(ep.isPresent()){
ep.get().setDateModified(new Date());
expectedPackageRepository.saveAndFlush(ep.get());
}
Или есть третий и лучший подход, который я пропустил? Я рассмотрел несколько вопросов и пару статей, но я не нашел ясного ответа.