Spring Cloud 投影

2024-01-11 15:06 更新

Spring Data Spanner支持投影。您可以根據(jù)域類型定義投影接口,并添加查詢方法以在存儲(chǔ)庫(kù)中返回它們:

public interface TradeProjection {

	String getAction();

	@Value("#{target.symbol + ' ' + target.action}")
	String getSymbolAndAction();
}

public interface TradeRepository extends SpannerRepository<Trade, Key> {

	List<Trade> findByTraderId(String traderId);

	List<TradeProjection> findByAction(String action);

	@Query("SELECT action, symbol FROM trades WHERE action = @action")
	List<TradeProjection> findByQuery(String action);
}

可以通過(guò)基于名稱約定的查詢方法以及自定義SQL查詢來(lái)提供投影。如果使用自定義SQL查詢,則可以進(jìn)一步限制從Spanner檢索的列,使其僅限于投影所需要的列,以提高性能。

使用SpEL定義的投影類型中的Properties對(duì)基礎(chǔ)域?qū)ο笫褂霉潭Qtarget。結(jié)果,訪問(wèn)基礎(chǔ)屬性的格式為target.<property-name>。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)