1
我擁有實體對象,並且我想要獲取該對象。 目前,我使用將實體投入App Engine中的類類型
PersistenceManager.getObjectById(Object.class, Entity.getId());
這裏的問題是,它是當所有的屬性都已經在實體提供數據存儲的額外調用。
我擁有實體對象,並且我想要獲取該對象。 目前,我使用將實體投入App Engine中的類類型
PersistenceManager.getObjectById(Object.class, Entity.getId());
這裏的問題是,它是當所有的屬性都已經在實體提供數據存儲的額外調用。
這不是我認爲你正在尋找的銀彈;它需要一些咕嚕的工作來完成。
DAO代碼
DatastoreService datastore = DatastoreServiceFactory
.getDatastoreService();
List<Foo> results = new ArrayList<Foo>();
Query query = new Query("Foo");
List<Entity> entities = datastore.prepare(query).asList(
FetchOptions.Builder.withDefaults());
for (Entity entity : entities) {
results.add(new Foo(entity));
}
類Foo
public Foo(Entity entity) {
// TODO get properties from entity and populate POJO
this.bar=entity.getProperty("bar");
//get the key
//if the @PrimaryKey is a Long use this
this.id=entity.getKey().getId();
//if the @PrimaryKey is a String use this
this.id=entity.getKey().getName();
}
這是一個討厭的解決辦法,但它看起來像它可能工作。在世界完美之前,我會使用它。 +1。但是當對象包含另一個POJO列表時會發生什麼?即在Foo內有'List bars' –