我在GemFire地区填充了数百万个对象。我不希望执行默认findAll()
SDR查询来一次性检索数百万个对象。我试图找出是否有办法覆盖默认的findAll查询并提供LIMIT参数来限制从GemFire区域检索的对象数量。这是我想要做的一个例子:
NoRepositoryBean
public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> {
/**
* Returns all instances of the type.
*
* @return all entities
*/
Iterable<T> findAll();
}
public interface MyRepository extends CrudRepository<MyRepoObject, String> {
@Query("SELECT * FROM MyRegion LIMIT $1")
Iterable<CellTower> findAll(@Param("limit") String limit);
}
目前,我正在使用Spring Data Gemfire 1.4.0.BUILD-SNAPSHOT和Spring Data REST 2.0.0.BUILD-SNAPSHOT版本
答案 0 :(得分:0)
这个方便的入门指南“使用REST访问GemFire数据(https://spring.io/guides/gs/accessing-gemfire-data-rest/)”不久前写过,可能对您的特定用例有帮助。
答案 1 :(得分:0)
以下对我有用。尝试使用Integer而不是String作为findAll的参数
@Query("SELECT * FROM /Customer LIMIT $1")
List<Customer> findAll(@Param("limit") Integer max);