0

如果您将其中一个或另一个留空,或者未在您的实体中指定,它无论如何都会为该实体创建一个键/ID,如管理控制台数据存储查看器中所示。

额外问题:为什么在 put() 之后无法获得实体对象的 ID?entity.getProperty("id")返回空值。关键对象不能被序列化,因此不能被 GWT 使用。

参考:

https://developers.google.com/appengine/docs/java/datastore/entities

https://developers.google.com/appengine/docs/java/datastore/jdo/creatinggettinganddeletingdata#Keys

4

1 回答 1

5

实体有一个键,并且(持久实体的)键有自动分配的 id 或程序员提供的名称。name/id 是 Key 的属性,而不是 Entity 的属性。

您不是entity.getProperty("id")用 Java 编写的entity.getKey().getId()(或者.getName()如果您给键命名)。

较低级别的详细信息位于:

https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Entity https://developers.google.com/appengine/docs/java/javadoc/com/google /appengine/api/datastore/Key

`

于 2013-10-21T17:17:25.923 回答