获取自动生成的 ID(对象化数据存储)

get auto-generated id (objectify datastore)

我想将自动生成的 ID 传递给 datastore.can 的 'Name/id' 有人帮我吗?这是我的代码:

String Id = "" // i want autogenerated value

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

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

ObjectifyFactory 有一个方法 #allocateId()。您可以在 this question.

中找到示例用法

基本上你会

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

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

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