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

xen*_*ros 14 java named-query spring-data-jpa spring-boot

Spring JPA named querys在我的存储库中使用.我的问题是,我无法找到任何信息,对于不匹配任何结果的查询,返回的值是什么.我认为它将为空,findOne()但我不知道它的findAllByName()功能是什么.

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

exo*_*dus 21

根据我的个人经验,如果您在repo上搜索对象,例如Id或Name,则命名查询方法返回一个类型的对象T,但如果没有从您的repo中找到结果,则它将返回null.

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

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

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

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

T一个独特的实体.期望查询方法最多返回一个结果.如果没有找到结果,则返回null.多个结果将触发IncorrectResultSizeDataAccessException.

迭代器迭代器.

似乎只有当返回类型是类型时T,如果没有匹配,则返回唯一指定null的方法.

  • 该死的NP呵呵!通过更好的阅读/更好的文档将避免多少if!= null语句. (2认同)