Spring Cloud Datastore 按ID查找

2024-01-12 09:34 更新

Datstore讀取一種類型的單個(gè)實(shí)體或多個(gè)實(shí)體。

使用DatastoreTemplate,您可以執(zhí)行讀取,例如:

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會(huì)以高度一致性執(zhí)行基于鍵的讀取,但最終會(huì)執(zhí)行查詢。在上面的示例中,前兩次讀取使用鍵,而第三次使用基于相應(yīng)種類Trader的查詢執(zhí)行。

指標(biāo)

默認(rèn)情況下,所有字段都已建立索引。要禁用對(duì)特定字段的索引編制,可以使用@Unindexed注釋。

例:

import org.springframework.cloud.gcp.data.datastore.core.mapping.Unindexed;

public class ExampleItem {
	long indexedField;

	@Unindexed
	long unindexedField;
}

直接或通過查詢方法使用查詢時(shí),如果select語(yǔ)句不是SELECT *WHERE子句中有多個(gè)過濾條件,則Cloud Datastore需要復(fù)合自定義索引。

讀取偏移量,限制和排序

DatastoreRepository和自定義實(shí)體存儲(chǔ)庫(kù)實(shí)現(xiàn)了Spring Data PagingAndSortingRepository,它使用頁(yè)碼和頁(yè)面大小來支持偏移量和限制。通過向findAll提供DatastoreQueryOptionsDatastoreTemplate也支持分頁(yè)和排序選項(xiàng)。

部分閱讀

目前尚不支持此功能。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)