자바와 jdo를 사용하여 google appengine 1.3.0을 사용 중 ...appengine 데이터 스토어 개체를 내 개체로 변환하는 방법은 무엇입니까?
1 대 다수 소유 관계를 위해 JDO 쿼리를 작성하는 동안 실제로는 영리하다고 생각하는 비 JDO 개념을 발견했습니다. 조상 Querys. appengine.api.datastore.Query 인터페이스를 사용하면 상위 키를 사용하여 쿼리의 범위를 지정할 수 있습니다.
불행히도 쿼리의 결과는 속성 목록이있는 'Entity'개체입니다. api에는 이러한 Entity 객체 중 하나를 JDO 객체 또는 간단한 DTO Bean (내 JDO 객체와 일치)으로 변환하는 util이 있습니까?
나는 아래의 코드로 그것을 강요하지만 무언가를 두들겨 먹었지 만 이중 룩업을 좋아하지 않는다.
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()));
}