我想从GCP-DataStore的表中获得id列表的大量数据。我尝试使用以下不支持的查询:
SELECT column1,column2,column3,column4 FROM tableName where IDs IN (:listIds)
目前,我正在迭代(在JAVA中)每个Id,并使用DataStoreRepository获取数据。
在GQL中我们如何使用in操作符执行查询,或者我们如何从数据存储中获取大量数据。
根据官方文档GQL不支持IN
操作符
我建议您尝试自定义GQL查询方法。下面是文档中的一个示例:
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);
}
id是实体上的一个字段,还是密钥的一部分?如果是后者,则需要使用findAllById