2013-05-05 32 views
0

最好的辦法有兩個實體類型的(這人姓和具有屬性的名稱;二是實體類是汽車具有的屬性顏色和生產)。使用Java,我如何以最有效的方式檢索一個特定實體(比如實體的姓名/名稱等於1)?我沒有建立索引,並使用Google應用引擎提供的默認索引。通過谷歌文檔查看,他們提供了使用循環獲取某種記錄的示例,但不顯示如何獲取特定的實體。我如何和檢索單個實體谷歌應用程序引擎

回答

0

每個實體都有一個密鑰(自動生成或由您提供)https://developers.google.com/appengine/docs/java/datastore/overview#Kinds_Keys_and_Identifiers並且執行datastore.gethttps://developers.google.com/appengine/docs/java/datastore/entities#Retrieving_an_Entity)是獲取該實體的最快方式。任何其他查詢通常會比較慢。

+0

感謝您的答覆。我注意到,當我創建一個實體,我把我自己的標識(如「鮑勃」),名稱\ ID爲「鮑勃」,但關鍵是一些加密的隨機字符串。所以,如果我想找回它具有ID /名稱「Bob」中的實體,我怎麼會知道,如果我想找回它的每一個實體這個隨機密鑰? – user2213892 2013-05-05 21:24:06

+0

哦,我想我找到了答案。爲了確認我理解了這一點,您生成了一個Key對象。密鑰k = KeyFactory.createKey(「人」,「鮑勃」);,然後採取鑰匙,並將其放置在一個實體的人= datastore.get(K)。那麼從這個對象你可以訪問屬性? – user2213892 2013-05-05 21:30:12

+0

這是一個編碼的字符串。您可以從編碼的密鑰轉換爲主要對象,具有https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/KeyFactory – jcjones1515 2013-05-05 21:31:59