找不到对象时,getOne(id)不返回null

时间:2018-06-21 10:45:06

标签: java jpa spring-data-jpa

我正在尝试使用getOne从数据库获取数据。当找不到实体时,我无法使用

进行检查
obj = repository.getOne(id);//exception
if(obj == null){
...
}

我想检查是否已找到实体,但出现异常。

1 个答案:

答案 0 :(得分:1)

不确定我是否正确理解了您。但是,如果您想查看给定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
    }
}

但这肯定不是可行的方法。由于repository

上可能已经存在这样的方法