代码之家  ›  专栏  ›  技术社区  ›  Chris Dutrow

在googleappengine上使用预定义的键进行批量放置

  •  0
  • Chris Dutrow  · 技术社区  · 14 年前

    我想使用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)

    我尝试批量获取一组实体,更新它们,然后批量将它们放回数据存储。我应该能够做到这一点而不改变它们键的值,这是有道理的,不是吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Chris Dutrow    14 年前

    看来我把这个问题贴出来让我的大脑放屁了,但也许这会在将来帮助别人。您只需在分配实体时设置键:

    Entity entity = new Entity(key);
    

    或者,如果您以前从数据存储中提取过实体,那么应该已经设置了键。