簡體   English   中英

Java中的Google App Engine編碼密鑰

[英]Google App Engine encoded key in Java

有人可以提供一些簡單的代碼來說明如何將Java編碼密鑰用於Google App引擎。 該示例代碼有點令人困惑。 假設我有一個雇員班級,並且我希望以“姓名,電子郵件,電話”的格式手動構建主鍵,例如,示例鍵為“ James Smith,james @ mycompany.com,12345678”

參考示例代碼

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String encodedKey;

@Persistent
@Extension(vendorName="datanucleus", key="gae.pk-name", value="true")
private String keyName;

我可以將哪些值分配給encodedKeykeyName 經過各種嘗試,我仍然收到以下錯誤:

主鍵字段是已編碼的字符串,但是提供了未編碼的值。 如果要在此字段上設置未編碼的值,則可以將其類型更改為未編碼的字符串(刪除“ gae.encoded-pk”擴展名),將其類型更改為com.google.appengine.api.datastore .Key,然后設置Key的名稱字段,或者為主鍵的名稱組件創建一個單獨的String字段,並添加“ gae.pk-name”擴展名。

您需要設置密鑰名稱,而不是密鑰。 為此,請遵循錯誤消息中的任何建議,然后將您的編碼字符串指定為鍵名稱。

您應該能夠為keyName設置一個值,並讓gae api自動為您填充encodeKey。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM