我有大約50k實體存儲在appengine中。我能夠通過GQL管理界面查找單個記錄與查詢,如:如何在JDO中執行批量Google DataStore鍵查詢查詢
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);
不過,雖然「菲多」的情況下GQL作品,當我使用的Java + JDO代碼它沒有返回。我究竟做錯了什麼?
很高興知道。如果查詢無效,我期待得到某種難以忽略的錯誤通知,所以我很失望。 – TheDon 2010-03-18 12:20:08