代码之家  ›  专栏  ›  技术社区  ›  tomrozb

对象化检查集合是否包含值

  •  1
  • tomrozb  · 技术社区  · 10 年前

    我设置了一些定义为 Enum 。现在我想编写一个查询,该查询返回具有特定 枚举 值。我已经尝试了如下方法,但它不起作用(返回实体的空列表)。

    public InfoCount getInfoCount(@Named("info") InfoType type) {
       ofy().load()
            .type(InfoRecord.class)
            .filter("infoTypes", type)
            .count()
    }
    

    infoTypes 声明为 Set<InfoType>

    使用 in 但如何以另一种方式检查它-集合是否包含值(或值集)?

    1 回复  |  直到 10 年前
        1
  •  2
  •   Ashish Awasthi    10 年前

    只能通过索引文件查询数据存储。只需传递字段名称和值(按照您的方式),就可以支持对多值财产的相等查询,但字段必须被索引。Objectify对枚举有非常直观的支持,所以这应该不是问题。Objectify中的索引是使用字段上的@Index完成的。