Jpa getSingleResult() 行为如果没有实体存在,有时会显示异常,有时会显示错误

Jpa getSingleResult() behoviour if no entity is there sometimes it's shows exception and sometime it's shows error

我浏览了我发现 NoResultException 的文档 - 如果没有结果,但是当我执行查询时它显示 null;

由于单个结果 return 类型是对象,我们需要将结果类型转换为 class 对象,如果我们将 null 类型转换为对象,则不会出现异常。

谁能说清楚,什么时候会给出 NoResultException?

缺少结果(无行)和 NULL 之间存在差异。您得到的是单个 NULL 结果,因此不应抛出任何异常。

聚合函数 return NULL 如果没有要为其计算聚合的行,这使这有点令人费解。查询本身 (FROM IptReceiveOrder...) returns 0 行,但 MAX(model.id) 将其更改为单个 NULL 行。