kundera-cassandra中的分页

时间:2015-12-16 12:56:56

标签: java pagination cassandra kundera

我正在使用kundera-cassandra(V3.2)并希望限制选择查询。这使用以下代码:

TypedQuery<T> query = manager.createQuery(criteriaQuery);
query.setMaxResults(limit);

我的问题是设置一个启动参数。我找到了方法

query.setFirstResult(start);

但它不起作用。有没有解决方案可以告诉select查询从哪里开始?我无法在应用程序级别上执行此操作,因为查询由REST服务方法使用。

2 个答案:

答案 0 :(得分:2)

您正在寻找limit, offset个查询,Kundera-Cassandra不支持这些查询,因为Cassandra本身不支持。

答案 1 :(得分:1)

Kundera通过Datastax Driver支持Cassandra分页。

以下摘自Kundera readmes

分页:您可以使用Datastax驱动程序通过ResultIterator对从Cassandra提取的查询结果进行分页:

String queryString= "Select t from Token t";
com.impetus.kundera.query.Query query = (com.impetus.kundera.query.Query) em.createQuery(queryString,
                Token.class);
query.setFetchSize(fetchSize);
int count=0;
Iterator<Token> tokens = query.iterate();
while(tokens.hasNext())
{
  ...
}