具有多个orOperator的条件查询抛出限制错误

时间:2018-07-09 07:53:50

标签: mongodb criteria hibernate-criteria

我正在尝试使用Criteria.orOperator与多个orOperator进行查询。但是它引发了一些限制错误,我们不能两次使用oroperator。

这是查询

    Criteria criteria1 = new Criteria();
    criteria1.orOperator(Criteria.where("dumEmployeeId").is(user.getId()),Criteria.where("toDumEmployeeId").is(user.getId())).andOperator(
    criteria1.orOperator(Criteria.where("priority").is("Important"),Criteria.where("priority").is("Urgent")));

这里有两个条件是强制性的。有两个字段。在这两个字段中,我需要检查两个不同的数据。这就是为什么我在单个字段中使用 orOperator 的原因。使用运算符的两个字段。但这会引发限制错误。谁能告诉我该如何实现?

1 个答案:

答案 0 :(得分:1)

尝试以下代码。

Criteria criteria1 = new Criteria();
            criteria1.orOperator(
                    Criteria.where("dumEmployeeId").is(user.getId()),
                    Criteria.where("toDumEmployeeId").is(user.getId())).
                    andOperator(
                        new Criteria().orOperator(
                                Criteria.where("priority").is("Important"),
                                Criteria.where("priority").is("Urgent")
                        )
                    );