使用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()));
}