Java 如何使用Spring Boot使用Crudepository的findOne()方法?

Java 如何使用Spring Boot使用Crudepository的findOne()方法?,java,spring,rest,spring-boot,repository,Java,Spring,Rest,Spring Boot,Repository,我想使用crudepository的findOne()方法,但无法使用它 我正在使用crudepository进行持久化。我检查了crudepository,但是findOne()方法不可用。当我搜索Crudepository的Javadoc时,它显示findOne()方法就在那里 @覆盖 公共乘法结果尝试getResultById(长结果){ 返回attemptRepository.findOne(resultId); } findOne在CRUD存储库中被findById()替换。看 请注意

我想使用
crudepository
findOne()
方法,但无法使用它

我正在使用
crudepository
进行持久化。我检查了crudepository,但是
findOne()
方法不可用。当我搜索Crudepository的Javadoc时,它显示
findOne()
方法就在那里

@覆盖
公共乘法结果尝试getResultById(长结果){
返回attemptRepository.findOne(resultId);
}

findOne
CRUD存储库中被
findById()
替换。看

请注意,
findById
并不能完全替代
findOne
,它返回一个
可选的
,而不是
null

用法示例:

@Override
public MultiplicationResultAttempt getResultById(Long resultId) {

   return attemptRepository.findById(id).orElse(null);
}

CRUD存储库中的
findOne
findById()
替换。看

请注意,
findById
并不能完全替代
findOne
,它返回一个
可选的
,而不是
null

用法示例:

@Override
public MultiplicationResultAttempt getResultById(Long resultId) {

   return attemptRepository.findById(id).orElse(null);
}


如果您使用的是最新版本的Spring数据,请使用
findById
而不是
findOne
。但它返回一个可选值,我不需要使用可选值。还有其他方法吗?使用可选的,
repo.findById(id).orElse(null)
来模拟经典行为。虽然我建议使用一个
可选的
。好的,我会尝试上面的代码片段。@farhanlq:但它返回一个可选的,我不需要使用可选的。还有其他方法吗?->在您自己的自定义存储库中重写findOne方法,这样它就不会返回可选的,但在内部它将使用spring方法:如果您使用的是最新版本的spring数据,请使用
findById
,而不是
findOne
。但是它返回可选的,我不需要使用可选的。还有其他方法吗?使用可选的,
repo.findById(id).orElse(null)
来模拟经典行为。虽然我建议使用一个
可选的
。好的,我会尝试上面的代码片段。@farhanlq:但它返回一个可选的,我不需要使用可选的。还有其他方法吗?->在您自己的自定义存储库中重写findOne方法,这样它就永远不会返回可选的,但在内部它将使用spring方法:因此,如果我可以将pom.xml中的JPA依赖项更改为旧版本的话。你认为它有效吗?是的,它会有效,但我不建议这样做,你为什么不使用可选的?上面的示例与您从
findOne
中期望的行为完全相同,只是更改Spring数据JPA版本是行不通的。它有一个最小的Spring依赖项,因此还要求您降级Spring版本,这可能会导致您也降级其他库。@Mustahsan。谢谢,现在我使用了你上面的代码片段,它符合我的期望。@M.Deinum。现在我正在使用FindById()。感谢你们两位的即时响应。所以,如果我能将pom.xml中的JPA依赖项更改为旧版本。你认为它有效吗?是的,它会有效,但我不建议这样做,你为什么不使用可选的?上面的示例与您从
findOne
中期望的行为完全相同,只是更改Spring数据JPA版本是行不通的。它有一个最小的Spring依赖项,因此还要求您降级Spring版本,这可能会导致您也降级其他库。@Mustahsan。谢谢,现在我使用了你上面的代码片段,它符合我的期望。@M.Deinum。现在我正在使用FindById()。谢谢你们两位的及时回复。