Spring Cloud Datastore 按ID查找
2024-01-12 09:34 更新
Datstore读取一种类型的单个实体或多个实体。
使用DatastoreTemplate
,您可以执行读取,例如:
Trader trader = this.datastoreTemplate.findById("trader1", Trader.class); List<Trader> traders = this.datastoreTemplate.findAllById(ImmutableList.of("trader1", "trader2"), Trader.class); List<Trader> allTraders = this.datastoreTemplate.findAll(Trader.class);
Cloud Datastore会以高度一致性执行基于键的读取,但最终会执行查询。在上面的示例中,前两次读取使用键,而第三次使用基于相应种类Trader
的查询执行。
默认情况下,所有字段都已建立索引。要禁用对特定字段的索引编制,可以使用@Unindexed
注释。
例:
import org.springframework.cloud.gcp.data.datastore.core.mapping.Unindexed; public class ExampleItem { long indexedField; @Unindexed long unindexedField; }
直接或通过查询方法使用查询时,如果select语句不是SELECT *
或WHERE
子句中有多个过滤条件,则Cloud Datastore需要复合自定义索引。
DatastoreRepository
和自定义实体存储库实现了Spring Data PagingAndSortingRepository
,它使用页码和页面大小来支持偏移量和限制。通过向findAll
提供DatastoreQueryOptions
,DatastoreTemplate
也支持分页和排序选项。
以上内容是否对您有帮助:
更多建议: