2015-04-07 61 views
0

採用客觀化,我使用App引擎自動生成的ID爲如下我的實體創建ID:appengine自動生成的Long @id在實體範圍內是唯一的嗎?

@id 
Long ID; 

我把空變量ID,所以應用程序引擎將自動爲我的實體的ID。

隨着通過客觀化功能鍵創建:

Key.create(java.lang.Class<? extends T> kindClass, long id) 

我能來的結論,即自動生成的實體ID沒有任何關係,家長是獨一無二的?

回答

2

數據存儲中的每個實體都有一個唯一標識它的密鑰。該 鍵由以下組件組成:

  • 的實體的命名空間,這允許多租戶
  • 種類的實體,其歸類它用於數據存儲的目的查詢
  • 的標識符個別實體,其可以是一個鍵名的字符串的整數數字ID
  • 可選祖先路徑定位數據存儲區的層次結構內的實體

這個組件的聯合使得唯一的關鍵。 正因爲如此的自動生成策略保證ID是內唯一相同命名空間|母公司|一種| ID或僅樣| ID如果沒有父

來源:https://cloud.google.com/appengine/docs/java/datastore/entities

+0

感謝您的澄清。 – Falcon

3

自動生成的ID對於父母親來說是獨一無二的。對於任何給定類型和一個null(不存在)父級,分配器將分配一個唯一值。