0

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 バージョンを使用しています。

4

2 に答える 2

0

REST を使用した GemFire データへのアクセスに関するこの便利な入門ガイド ( https://spring.io/guides/gs/accessing-gemfire-data-rest/ ) は少し前に書かれたもので、特定のユース ケースに役立つ可能性があります。

于 2014-03-17T04:50:47.580 に答える
0

以下は私のために働いた。findAll のパラメータとして文字列の代わりに整数を使用してみてください

 @Query("SELECT * FROM /Customer LIMIT $1")
    List<Customer> findAll(@Param("limit") Integer max);
于 2014-09-16T15:20:38.223 に答える