【问题标题】:get auto-generated id (objectify datastore)获取自动生成的 ID(对象化数据存储)
【发布时间】:2016-11-28 08:39:53
【问题描述】:

我想将自动生成的 id 传递给数据存储区的“名称/id”。有人可以帮我吗?这是我的代码:

String Id = "" // i want autogenerated value

profile = new Profile(Id, displayName, mainEmail);

必须在此处自动生成 ID。那么如何通过呢?

【问题讨论】:

  • 你能澄清你想要达到的目标吗?在显示的代码中,加载方法将从数据存储中获取配置文件实体(如果存在具有给定键的实体)。
  • 我已经编辑了我的问题。请看一下,如果你能帮助我,请告诉我。

标签: google-cloud-datastore google-cloud-endpoints objectify


【解决方案1】:

ObjectifyFactory 有一个方法#allocateId()。您可以在this question 中找到示例用法。

基本上是你做的

new ObjectifyFactory().allocateId(Profile.class).getId()

如果您不需要立即使用 id,我不会使用这种方法。只需使用@Id 注释id,将其设置为null 并保存实体。当您执行 ofy().save().entity(...).now() 时,它将返回包含新 ID 的 Key

通过分配的 id 分配 id 仍会执行数据存储请求。它将分配一个 id 块,在这种情况下您将只使用其中一个。必要时使用,非必要时不要使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 2011-04-03
    相关资源
    最近更新 更多