不确定这是否可行,但总是值得问。
我已经简化了下面的问题 - 基本上,我想使用for循环来创建同一类型的多个实体。问题似乎是我无法通过调用变量来命名新实体。
有人能想出解决这个问题的方法吗?任何帮助将不胜感激。
非常感谢
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Key roomkey = KeyFactory.createKey("E15", "ids");
String test = "";
for (int x = 0; x < 7; x++) {
test = ("" + Integer.toString(x));
Entity test = new Entity("E15", roomkey);
}
答案 0 :(得分:1)
假设您正在尝试创建7个类型为E15
的实体,其键名为“0”到“6”
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
for (Integer n = 0 ; n < 7 ; ++n ) {
Entity entity = new Entity("E15", n.toString());
datastore.put(entity);
}
最后一点很重要。仅仅创建Entity
的实例并不会持续存在。
答案 1 :(得分:0)
您可以通过aslo为其指定key_name或id:
来创建实体Entity entry = new Entity("E15", key_name, roomkey);
,或者
Entity entry = new Entity("E15", id, roomkey);
以后你可以获得实体:
Key key = KeyFactory.createKey(roomkey, "E15", id);
Entity entry = datastore.get(key);
答案 2 :(得分:0)
Entity entity = new Entity("YourKindName",String|Long);
Entity entity = new Entity("YourKindName",""+x);//using string as key
//or
Entity entity = new Entity("YourKindName",x);//using number as key