使用google appengine 1.3.0 w/java和jdo ...一種將appengine數據存儲實體轉換爲我的對象的方法?
在嘗試編寫一對多擁有關係的JDO querys時,我遇到了一個非JDO概念,我認爲它非常聰明。祖先Querys。 appengine.api.datastore.Query接口允許使用父鍵對查詢進行範圍化。
不幸的是,查詢的結果是帶有屬性列表的'實體'對象。 在apis中是否有util會將這些實體對象之一轉換爲我的JDO對象,甚至是一個簡單的DTO bean(與我的JDO對象匹配)?
我已經採取了一種破解強制它與下面的代碼,但不喜歡雙重查找。
PersistenceManager pm;
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
List<MyObject> results;
com.google.appengine.api.datastore.Query query = new Query("MyObject", KeyFactory.stringToKey(parentId));
query.addFilter("rank", Query.FilterOperator.GREATER_THAN_OR_EQUAL, minRank);
query.addSort("rank");
query.setKeysOnly();
for (Entity anEntity : datastore.prepare(query).asIterable()) {
results.add(pm.getObjectById(MyObject.class, anEntity.getKey()));
}