appengineに約5万のエンティティが保存されています。次のようなクエリを使用して、GQL管理インターフェイスを介して個々のレコードを検索できます。
SELECT * FROM Pet where __key__ = KEY( 'Pet','Fido')
しかし、JDOを介してこれのバッチバージョンを実行する方法を理解するのに問題があります。今私はこれを持っています:
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);
ただし、「Fido」はGQLの場合は機能しますが、そのJava+JDOコードを使用しても何も返されません。私は何が間違っているのですか?