我设置了一些定义为Enum
的值。现在我想编写一个查询,返回其集合中具有特定Enum
值的entites数。我已经尝试过如下,但它不起作用(返回实体的空列表)。
public InfoCount getInfoCount(@Named("info") InfoType type) {
ofy().load()
.type(InfoRecord.class)
.filter("infoTypes", type)
.count()
}
infoTypes
被声明为Set<InfoType>
使用in
检查一个值是否在集合中很简单,但是如何以另一种方式检查它 - 集合是否包含值(或一组值)?
答案 0 :(得分:2)
只能通过索引文件查询数据存储。简单地通过传递field-name和value(你正在这样做的方式)来支持多值属性的等式查询,但是必须对字段建立索引。 Objectify对枚举有非常直观的支持,因此不应该成为问题。 Objectify中的索引是使用字段上的@Index完成的。