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?
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?
getId()
在将实体放入数据存储区之前,您不会有 id 。
为什么要将 Key 中的 id 存储为实体的属性。这是完全多余的。此外,密钥的 id 也无法更改以增强冗余。
您可以使用方法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);