0

Heres my code

Entity post = new Entity("Post");
int ID = post.getKey().getId();
post.setProperty("ID", ID);

But the ID shows as 0 in my datastore.

What did I do wrong?

4

2 回答 2

3

getId()在将实体放入数据存储区之前,您不会有 id 。

为什么要将 Key 中的 id 存储为实体的属性。这是完全多余的。此外,密钥的 id 也无法更改以增强冗余。

于 2013-06-02T03:30:34.687 回答
0

您可以使用方法allocateIds来生成唯一 ID。

这是一个例子。

DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();

KeyRange keyRange = datastoreService.allocateIds("CartItem", 1L);

// you have ID here before save
Entity item = new Entity(keyRange.getStart());
datastoreService.put(item);
于 2013-06-03T05:11:02.380 回答