获取自动生成的id(objectify datastore)

时间:2016-11-28 08:39:54

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

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

String Id = "" // i want autogenerated value

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

我必须在这里自动生成ID。那怎么通过呢?

1 个答案:

答案 0 :(得分:2)

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

基本上你做

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

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

通过已分配的ID分配ID仍会执行数据存储请求。它将分配一个id,在这种情况下你只使用一个id。如果您必须,请不要使用它,如果您不必,请使用它。