Astyanax получить по UUID

Как получить строку в Cassandra с помощью Astyanax?

У меня есть веб-приложение, которое требует разбивки на страницы на стороне сервера, а db - это cassandra. Ключ строки - это UUID, и у меня есть несколько столбцов в строке, поэтому я пытаюсь разбить на страницы ключи строки.

Я собрал решение, которым я не совсем доволен. Проблема в том, что когда я делаю свой первый поиск на основе фильтра поиска, который я получаю из пользовательского интерфейса, я не знаю UUID первой строки, поэтому я готовлю запрос, который дает мне первые 6 записей, я сохраняю ключ 6-я запись в MAP и помещает ее в сеанс, поэтому, когда пользователь из пользовательского интерфейса запрашивает вторую страницу, я извлекаю этот ключ (UUID) и использую его в качестве начала для получения следующего набора записей. Я пытался найти более чистый подход.


person Guest    schedule 08.09.2012    source источник


Ответы (1)


РЕДАКТИРОВАТЬ в ответ на изменения вопроса...

В этом случае, похоже, вы делаете это просто отлично. Также похоже, что вы используете ООП, иначе строки не в порядке. Хотя решение playOrm является более элегантным, возвращая вам курсор, который вы сохраняете в сеансе, я думаю, что у вас все в порядке.

РЕДАКТИРОВАТЬ, поскольку наш код изменил строку 74 в этой ссылке, как мы это делаем (вы можете перейти к этому классу курсора, чтобы увидеть, что мы делаем).

https://github.com/deanhiller/playorm/blob/master/src/main/java/com/alvazan/orm/layer9z/spi/db/cassandra/CassandraSession.java

который, если у вас есть 10 ключей строк, вы просто передаете список ключей.

Я не уверен, что вы имеете в виду под пагинацией ???? Вы говорите, что у вас есть ключ строки от и до и вам нужны строки между ними? Вы используете порядок кластера по ключу строки?

Другим совершенно другим направлением для заказа является playOrm, хотя он может выполнять S-SQL, и если все разделено, вы можете выполнять соединения и другие подобные действия (на самом деле эта ссылка выше относится к одному из файлов в playOrm).

Я действительно не уверен, что вы имеете в виду, "у вас нет с собой ключа строки"

позже, Дин

person Dean Hiller    schedule 10.09.2012
comment
Спасибо за ответ. Позвольте мне выразить это лучше. Это веб-приложение, которое имеет страницу поиска, пользователь вводит значение, скажем, поле со значением имени, например, имя = xyz, теперь я хочу получить только первые 5 записей, соответствующих критериям, и когда пользователь переходит на страницу 2 в пользовательском интерфейсе, я получаю следующие 5 записей. Базовая пагинация..... - person Guest; 12.09.2012