我想使用Java的低级api批量放置具有预定义键的实体。
您可以批量获取:
Map<Key,Entity> get(.Iterable<Key> keys)
然而,批量放置似乎都想分配自己的密钥:
List<Key> put(Iterable<Entity> entities)
文档页: http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/DatastoreService.html#put(java.lang.Iterable)
我尝试批量获取一组实体,更新它们,然后批量将它们放回数据存储。我应该能够做到这一点而不改变它们键的值,这是有道理的,不是吗?
看来我把这个问题贴出来让我的大脑放屁了,但也许这会在将来帮助别人。您只需在分配实体时设置键:
Entity entity = new Entity(key);
或者,如果您以前从数据存储中提取过实体,那么应该已经设置了键。