Java getOne(id)没有';当找不到对象时,不返回null
我正在尝试使用getOne从DB获取数据。当找不到实体时,我无法用Java getOne(id)没有';当找不到对象时,不返回null,java,jpa,spring-data-jpa,Java,Jpa,Spring Data Jpa,我正在尝试使用getOne从DB获取数据。当找不到实体时,我无法用 obj = repository.getOne(id);//exception if(obj == null){ ... } 我想检查是否找到了实体,但我得到了一个异常。不确定我是否正确理解了您的意思。但是,如果要查看给定id的对象是否存在,可以捕获EntityNotFoundException: public boolean exists(int id){ try{ repository.getOne
obj = repository.getOne(id);//exception
if(obj == null){
...
}
我想检查是否找到了实体,但我得到了一个异常。不确定我是否正确理解了您的意思。但是,如果要查看给定id的对象是否存在,可以捕获
EntityNotFoundException
:
public boolean exists(int id){
try{
repository.getOne(id); // will throw if not exists
return true; // entity does exist
} catch(EntityNotFoundException e){
return false; // entity doesn't exist
}
}
但这肯定不是我们要走的路。因为
存储库中可能已经存在这样的方法
什么是//error
?如果你真的出错了。请在您的问题中发布它。如果您是指JPA Spring数据中的getOne,则如果给定id不存在实体,它将返回javax.persistence.EntityNotFoundException。请参阅文档。@Max,我知道,我想通过if或其他方法检查是否找到了实体。您不能使用此方法method@Max,您的意思是getOne(id)是否无法检查是否找到?