J'ai environ 50 000 entités stockées dans appengine. Je suis en mesure de rechercher un enregistrement individuel via l'interface admin GQL avec une requête comme:Comment faire une requête de recherche de clé Google DataStore par lots dans JDO
SELECT * FROM Pet where __key__ = KEY('Pet','Fido')
Mais je vais avoir du mal à comprendre comment faire une version de traitement par lots de ce via JDO. En ce moment, j'ai ceci:
PersistenceManager pm = ...;
for(Pet pet : pets) {
for(String k : getAllAliases(pet)) {
keys.add(KeyFactory.createKeyString(Pet.class.getSimpleName(), k));
}
}
Query q = pm.newQuery("select from " + Pet.class.getName() + " where id == :keys");
List<Pet> petlist = (List<Pet>) q.execute(keys);
Mais si les œuvres « Fido » dans le cas GQL, il ne renvoie rien quand j'utilise ce code Java + JDO. Qu'est-ce que je fais mal?
Bon à savoir. Je m'attendais à recevoir une sorte de notification d'erreur difficile à ignorer si la requête n'était pas valide, alors je suis déçu. – TheDon