querydsl 怎么加括号 and (idcart=1 or age=18)
时间: 2023-08-14 18:03:21 浏览: 127
要在 Querydsl 中给`(idcart=1 or age=18)`加上括号,可以使用`JPAExpressions`中的`BooleanExpression`类和`Expressions`中的`constant`方法来实现。
示例代码如下:
```java
BooleanExpression idcartOrAge = Expressions.booleanTemplate("{0} or {1}", QEntity.idcart.eq(1), QEntity.age.eq(18));
BooleanExpression expression = QEntity.isDeleted.eq(false).and(idcartOrAge);
// 组合查询条件
JPAQueryFactory queryFactory = new JPAQueryFactory(entityManager);
List<Entity> result = queryFactory.selectFrom(QEntity.entity)
.where(expression)
.fetch();
```
在上面的代码中,我们首先创建了一个`BooleanExpression`对象`idcartOrAge`,它表示`(idcart=1 or age=18)`这个查询条件。`Expressions.booleanTemplate("{0} or {1}", QEntity.idcart.eq(1), QEntity.age.eq(18))`方法可以将两个查询条件组合成一个带有括号的 OR 表达式。
然后,我们将`idcartOrAge`和`QEntity.isDeleted.eq(false)`使用`and`方法组合成一个新的查询条件`expression`,这个查询条件是`(isDeleted=false and (idcart=1 or age=18))`。
最后,我们在查询中使用`where`方法传入`expression`作为查询条件,即可完成查询。
需要注意的是,上面的示例代码中使用的是 JPAQueryFactory,如果你使用的是使用 Querydsl 的其他查询工具,可以根据具体情况进行调整。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)