Spring Cloud Datastore Repositories 投影
2024-01-12 09:34 更新
Spring Data Cloud Datastore支持预测。您可以根据域类型定义投影接口,并添加查询方法以在存储库中返回它们:
public interface TradeProjection { String getAction(); @Value("#{target.symbol + ' ' + target.action}") String getSymbolAndAction(); } public interface TradeRepository extends DatastoreRepository<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); }
可以通过基于名称约定的查询方法以及自定义GQL查询来提供投影。如果使用自定义GQL查询,则可以进一步将从Cloud Datastore检索到的字段限制为仅投影所需的字段。但是,自定义的select语句(不使用SELECT *
的语句)需要包含所选字段的复合索引。
使用SpEL定义的投影类型中的Properties将固定名称target
用于基础域对象。结果,访问基础属性的格式为target.<property-name>
。
以上内容是否对您有帮助:
更多建议: