Au moment où je reçois les meilleurs scores pour mon application Android du datastore comme suit:Interrogation de GAE datastore des numérations
Query query = pm.newQuery(PlayerPersistentData.class);
query.setOrdering("rating desc");
query.setRange(0, 25);
Cependant, je voudrais également commander les résultats par le comte d'un colonne secondaire:
Par exemple Dans SQL normal, il serait quelque chose comme ceci:
select PlayerPersistentData.*, count(achievements) as achievements_count
from PlayerPersistentData
order by rating desc, achievements_count desc
Réalisations est défini dans le datastore comme suit
@Persistent
private Set<Integer> achievements;
Est-ce possible en utilisant le datastore GAE? Et si oui, comment dois-je créer ma requête?
Merci à l'avance
Salut, je peux donner un tourbillon, mais les réalisations sont en fait un ensemble. Désolé, j'aurais dû inclure cela dans le texte original. @Persistent privé Set réalisations; –
Dans ce cas, j'utiliserais une requête préparée, je parcourirais chaque résultat et j'obtiendrais le fichier achievement.count. voir le premier bloc de code. http://code.google.com/appengine/docs/java/datastore/queries.html Il y a probablement plus de moyens, mais mes connaissances sont également limitées. – Rohan