我正在使用kundera-cassandra(V3.2)并希望限制选择查询。这使用以下代码:
TypedQuery<T> query = manager.createQuery(criteriaQuery);
query.setMaxResults(limit);
我的问题是设置一个启动参数。我找到了方法
query.setFirstResult(start);
但它不起作用。有没有解决方案可以告诉select查询从哪里开始?我无法在应用程序级别上执行此操作,因为查询由REST服务方法使用。
答案 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())
{
...
}