【问题标题】:Get all entities of a type as a Map<Key, Entitiy>获取一个类型的所有实体作为 Map<Key, Entity>
【发布时间】:2015-02-16 08:37:59
【问题描述】:

使用ofy().load().type(SomeEntity.class).ids(id_collection); 时,您会得到Map&lt;String, SomeEntity&gt; 的结果(假设键类型为String)。

是否有可能为给定类型的所有项获取Key -&gt; Entity的这种映射,而不仅仅是具有匹配ID的那些?

背景:目前,我正在做这样的事情(伪代码):

foreach operation: o {
  List<SomeEntitiy> affected = ofy.load(o.affectedEntities)
  foreach affected: a{
    a.performOperation(o)
  }
  ofy.save(affected)
}

一个实体可能会受到多个操作的影响,所以我想只获取一次所有实体,对受影响的实体执行操作,然后存储一次。

【问题讨论】:

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


    【解决方案1】:

    该方法只是一种便捷方法,是 keys() 的简写,其中包含从该类型和一组 id 构造的一堆键。看看LoadTypeImpl 中的实现。

    通过子类化一些 Objectify 命令类,您可以添加自己的重载。或者只使用 keys() 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 2011-02-07
      相关资源
      最近更新 更多