我在我的项目中更新了Spring 8的依赖项,并被编译错误轰炸,其中方法定义findOne()已被替换findById(),现在返回一个Optional(如果我错了,请纠正我).
在重构时,我遇到了多种我可以选择采用的方法,因此我想要一些关于哪一种是首选的输入.
第一种方法:
ExpectedPackage ep = expectedPackageRepository.findById(1).orElse(null);
if(ep != null){
ep.setDateModified(new Date());
expectedPackageRepository.saveAndFlush(ep);
}
Run Code Online (Sandbox Code Playgroud)
第二种方法:
Optional<ExpectedPackage> ep = expectedPackageRepository.findById(1);
if(ep.isPresent()){
ep.get().setDateModified(new Date());
expectedPackageRepository.saveAndFlush(ep.get());
}
Run Code Online (Sandbox Code Playgroud)
或者,我错过了第三种更好的方法吗?我经历了几个问题和一些文章,但我没有找到明确的答案.