gpt4 book ai didi

java - Spring 数据查找返回类型

转载 作者:搜寻专家 更新时间:2023-11-01 03:33:55 24 4
gpt4 key购买 nike

spring data findBy 方法可能的返回类型有哪些?我在任何地方都找不到任何综合列表。

像findByXXX可以返回

1) Entity
2) Optional<Entity>
3) List<Entity>
4) Stream<Entity>

还有很多,但我们有明确的 list 吗?

此外,List<Entity>当没有找到数据但 Stream<Entity> 时返回 emptyList找不到数据时返回 null,因此当您在流上应用 map/filter 等时,您会得到 NPE。

除了在调用流函数之前物理检查 null 之外,是否有更好的方法来使用 Stream 而不会导致 NPE。

最佳答案

虽然有点晚了,但是这里记录了支持的返回类型:

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-return-types

通常,返回类型可以是以下任何类别:

  1. 一个(可选)单个项目,可以是原始的、包装的、对象或空的
  2. 项目的集合,或分页列表
  3. 流、迭代器、Mono/Flux 或类似的。
  4. future 或其变体

以及当前支持的返回类型的完整列表:

  • void
  • Primitives
  • Wrapper types
  • T
  • Iterator
  • Collection
  • List
  • Optional
  • Option
  • Stream
  • Streamable
  • Types that implement Streamable and take a Streamable constructor or factory method argument
  • Vavr Seq, List, Map, Set
  • Future
  • CompletableFuture
  • ListenableFuture
  • Slice
  • Page
  • GeoResult
  • GeoResults
  • GeoPage
  • Mono
  • Flux
  • Single
  • Maybe
  • Flowable

关于java - Spring 数据查找返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38147463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com