【发布时间】:2015-09-01 08:27:43
【问题描述】:
我正在尝试创建一个取决于布尔参数数量的查询。创建谓词的函数如下所示:
Predicate createPredicate(Boolean param1, Boolean param2) {
List<BooleanExpression> booleanExpressions = new List<>();
if (param1)
booleanExpressions.add(/** expression 1 **/);
if (param2)
booleanExpressions.add(/** expression 2 **/);
convertExpressionsToPredicate(booleanExpressions);
}
问题在于convertExpressionsToPredicate 函数。 querydsl 中是否有任何特殊方法可以使用or 运算符将表达式列表连接到一个谓词中?
我正在寻找的解决方案应该转换这个:
List<BooleanExpression> booleanExpressions = List(exp1, exp2, exp3);
进入:
Predicate p = exp1.or(exp2).or(exp3)
【问题讨论】: