如何检索数据存储区实体的密钥

时间:2015-03-05 15:08:36

标签: java google-app-engine google-cloud-datastore

我已经创建了如下所示的数据存储区实体。我试图通过循环查询结果来获取实体的密钥。这也是获取实体密钥的正确方法吗?

DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
Entity e = new Entity("User");
e.setProperty("userName", user.getUserName());
e.setProperty("email", user.getEmail());
ds.put(e);

Query q = new Query("User")
PreparedQuery pq = ds.prepare(q);
Iterable<Entity> entityList = pq.asIterable();
for (Entity result : entityList) {
//how to get entity key from here
}

2 个答案:

答案 0 :(得分:2)

如果您需要键的字符串表示,您可以执行以下操作:

Key key = ds.put(e);
String keyString = KeyFactory.keyToString(key); 

答案 1 :(得分:1)

你可以这样做:

for (Entity result : entityList) {
   Key userKey = result.getKey();
}