Запросы из хранилища данных GAE с использованием count - PullRequest
1 голос
/ 31 августа 2011

В настоящий момент я получаю максимальные оценки для моего приложения Android из хранилища данных следующим образом:

     Query query = pm.newQuery(PlayerPersistentData.class);
     query.setOrdering("rating desc");
     query.setRange(0, 25);

Однако я также хотел бы упорядочить результаты по количеству вторичных столбцов:

Например, в обычном SQL это будет примерно так:

select PlayerPersistentData.*, count(achievements) as achievements_count
from PlayerPersistentData
order by rating desc, achievements_count desc

Достижения определяются в хранилище данных следующим образом

@Persistent
private Set<Integer> achievements;

Возможно ли это с помощью хранилища данных GAE?И если да, то как мне создать свой запрос?

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 31 августа 2011

Вы можете использовать метод addSort для вашего объекта запроса следующим образом:

query.addSort("rating", SortDirection.DESCENDING);
query.addSort("achievements", SortDirection.DESCENDING);
1 голос
/ 05 сентября 2011

Вам нужно денормализовать: сохранить счет как отдельное поле в вашей сущности и запросить его.

...