未找到匹配项时 JPA 查询的返回值

我正在我的存储库中使用。我的问题是,我无法在任何地方找到与任何结果不匹配的查询的返回值的信息。我假设它将为空,但我不知道函数会是什么。Spring JPA named querysfindOne()findAllByName()

有没有人从他/她的经验中知道或知道在文档中的位置?


答案 1

根据我个人的经验,如果您在存储库上搜索对象(例如通过 Id 或 Name),则命名查询方法将返回类型为 的对象,但如果从存储库中找不到任何结果,它将返回 null。T

可以返回多个元素的方法将生成一个空集合(不是 null)。List<T>

此处的一些文档:http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords

附录 D:存储库查询返回类型

支持的查询返回类型 查询返回类型:

T 唯一实体。期望查询方法最多返回一个结果。如果未找到任何结果,则返回 null。多个结果将触发不正确的结果大小数据访问异常。

迭代器 迭代器。

似乎只有当返回类型是类型时,才是唯一一个指定在没有匹配项时返回 null 的类型。T


答案 2

推荐