2012-05-13 32 views
0

爲什麼當我嘗試使用com.google.appengine.api.datastore.Query如何將com.google.appengine.api.datastore.Entity轉換爲我的實體對象?

比如獲得一些數據庫對象,我得到一個錯誤的鑄造: DatastoreService數據存儲= DatastoreServiceFactory.getDatastoreService(); 查詢q =新查詢(「用戶」);

PreparedQuery pq = datastore.prepare(q); 

for (Entity entity : pq.asIterable()) { 
    User myUser = (User)entity; 
} 

回答

2

你不能那樣做。返回的實體類型爲Entity,在java中,您不能只將一種類型轉換爲另一種類型。

如果您希望查詢返回自定義類型的對象,則需要某種映射框架,例如objectify。它可以讓你直接在數據庫操作中使用你的類。

+0

但我可以做到這一點使用JPA查詢? – reuber

+0

是的。 JPA是將實體映射到您的類的另一個映射框架。 –