【问题标题】:Getting data from GCP-Datastore for LIST从 GCP-Datastore 获取 LIST 的数据
【发布时间】:2021-10-21 18:38:03
【问题描述】:

我想从 GCP-DataStore 表中获取大量数据以获取 ID 列表。 我尝试使用以下不受支持的查询:

SELECT column1,column2,column3,column4 FROM tableName where IDs IN (:listIds)

目前,我正在迭代(在 JAVA 中)每个 Id 并使用 DataStoreRepository 获取数据。

我们如何在 GQL 中使用 IN 运算符执行查询,或者我们如何从数据存储中获取大量数据。

【问题讨论】:

    标签: spring-boot google-cloud-platform google-cloud-datastore spring-cloud gql


    【解决方案1】:

    根据官方doc,GQL 确实支持IN 运算符。

    我建议你试试Custom GQL query methods。这是文档中的一个示例:

    public interface TraderRepository extends DatastoreRepository<Trader, String> {
    
      @Query("SELECT * FROM traders WHERE name = @trader_name")
      List<Trader> tradersByName(@Param("trader_name") String traderName);
    
      @Query("SELECT * FROM  test_entities_ci WHERE id = @id_val")
      TestEntity getOneTestEntity(@Param("id_val") long id);
    }
    

    【讨论】:

      【解决方案2】:

      ID 是实体上的字段,还是键的一部分?如果是后者,你会想要使用findAllById

      【讨论】:

      • ID是实体的一列。
      猜你喜欢
      • 2021-03-31
      • 2018-06-25
      • 2013-11-29
      • 2018-04-24
      • 2021-06-30
      • 1970-01-01
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多