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

问题描述 投票:0回答:1

我在我的存储库中使用

Spring JPA named querys
。我的问题是,我无法在任何地方找到与任何结果都不匹配的查询的返回值的信息。我认为
findOne()
将为空,但我不知道
findAllByName()
函数会是什么。

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

java spring-boot spring-data-jpa named-query
1个回答
41
投票

根据我的个人经验,如果您在存储库中搜索对象,例如通过 Id 或 Name,命名查询方法将返回类型为

T
的对象,但如果从存储库中找不到结果,它将返回
null

可以返回多个元素的方法,将产生一个空集合

List<T>
(非空)。

这里有一些文档: http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords

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

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

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

迭代器迭代器。

似乎只有当返回类型为

T
类型时,才是唯一指定如果没有匹配则返回
null
的类型。

© www.soinside.com 2019 - 2024. All rights reserved.