【问题标题】:Google App Engine encoded key in JavaJava 中的 Google App Engine 编码密钥
【发布时间】:2009-10-04 12:57:17
【问题描述】:

谁能提供一些关于如何在 Java 中为 Google 应用引擎使用编码密钥的简单代码。示例代码有点混乱。假设我有一个员工类,我希望使用“姓名、电子邮件、电话”的格式手动构建主键,例如示例键为“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 的 name 字段,或者为您的主键的 name 组件创建一个单独的 String 字段并添加“gae.pk-name”扩展名。

【问题讨论】:

  • 你能告诉我们产生错误的代码吗?

标签: java google-app-engine key


【解决方案1】:

您需要设置密钥名称,而不是密钥。为此,请遵循错误消息中的任何建议,然后将您的编码字符串指定为键名。

【讨论】:

    【解决方案2】:

    您应该可以为keyName设置一个值,并让gae api为您自动填充encodedKey。

    【讨论】:

      猜你喜欢
      • 2017-08-22
      • 2015-07-18
      • 2016-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-14
      • 2012-05-26
      • 1970-01-01
      相关资源
      最近更新 更多