我正在尝试使用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 的原因。使用和运算符的两个字段。但这会引发限制错误。谁能告诉我该如何实现?
答案 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")
)
);