Пагинация в кундера-кассандре

Я использую kundera-cassandra (V3.2) и хочу ограничить выборочный запрос. Это работает со следующим кодом:

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

Моя проблема - установить начальный параметр. Я нашел способ

query.setFirstResult(start);

Но это не работает. Есть ли какое-либо решение, чтобы указать запросу на выборку, с чего начать? Я не могу сделать это на уровне приложения, потому что запрос используется методом службы REST.


person K.E.    schedule 16.12.2015    source источник


Ответы (2)


Вы ищете limit, offset запросы, и они не поддерживаются Kundera-Cassandra, так как изначально не поддерживается Cassandra.

person karthik manchala    schedule 16.12.2015

Kundera поддерживает разбиение на страницы Cassandra через драйвер Datastax.

Ниже приводится выдержка из Kundera readmes:

Разбивка на страницы: вы можете разбить на страницы результаты запроса, полученные из Cassandra, используя драйвер Datastax через ResultIterator:

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())
{
  ...
}
person Brandon McKenzie    schedule 02.06.2016