kundera-cassandra 中的分页

Pagination in kundera-cassandra

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

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

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

query.setFirstResult(start);

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

您正在查找 limit, offset 个查询,但 Kundera-Cassandra 不支持它们,因为 Cassandra 本身不支持。

Kundera 通过 Datastax 驱动程序支持 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())
{
  ...
}