Utilizzo di google appengine 1.3.0 w/java e jdo ...un modo per convertire Appengine datastore Entity nel mio oggetto?
Mentre cercavo di scrivere le query JDO per le relazioni di proprietà 1-a-molti, mi sono imbattuto in un concetto non JDO che pensavo fosse davvero intelligente. Ancestor Querys. L'interfaccia appengine.api.datastore.Query consente l'ambito di una query utilizzando la chiave principale.
Sfortunatamente i risultati della query sono oggetti 'Entità' con elenchi di proprietà. C'è un util nell'apis che convertirà uno di questi oggetti Entity nel mio oggetto JDO o anche in un semplice bean DTO (che corrisponde al mio oggetto JDO)?
Ho preso una crepa un bruto forzandolo con il codice sottostante ma non mi piace la doppia ricerca.
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()));
}