- 介绍
- 1. 前言
- 2. 项目元数据
- 3. 使用条件
- 4. 玩转Spring Data Repositories
- 5. Elasticsearch Repositories
- 6. 附录
- 本书使用 GitBook 发布
README
附录D Repository查询返回类型
支持的查询返回类型
下面的表格列出了Spring Data repositories支持的返回类型。某些特定的存储可能不支持全部的返回类型。
只有支持地理空间查询的数据存储才支持GeoResult,GeoResults,GeoPage等返回类型
Table 6.Query return types(查询返回值)
| 返回值类型 | 描述 |
|---|---|
| void | 表示没有返回值 |
| Primitives | 基本的Java类型 |
| Wrapper types | Java的包装类 |
| T | 最多只返回一个实体。没有查询结果时返回null。如果超过了一个结果会抛出IncorrectResultSizeDataAccessException的异常 |
| Iterator | 一个迭代器 |
| Collection | 一个集合 |
| List | 一个列表 |
| Optional | 返回Java 8或Guava中的Optional类。查询方法的返回结果最多只能有一个。如果超过了一个结果会抛出IncorrectResultSizeDataAccessException的异常 |
| Stream | Java 8引入的Stream类 |
| Future | 一个Future类,查询方法需要带有@Async注解,并开启Spring异步执行方法的功能 |
| CompletableFuture | 返回Java8中新引入的CompletableFuture类,查询方法需要带有@Async注解,并开启Spring异步执行方法的功能 |
| ListenableFuture | 返回org.springframework.util.concurrent.ListenableFuture类,查询方法需要带有@Async注解,并开启Spring异步执行方法的功能 |
| Slice | 返回指定大小的数据和是否还有可用数据的信息。需要方法带有Pageable类型的参数 |
| Page | 在Slice的基础上附加返回总数等信息。需要方法带有Pageable类型的参数 |
| GeoResult | 返回结果会附带诸如到相关地点距离等信息 |
| GeoResults | 返回GeoResult |
| GeoPage | 分页返回GeoResult |
