如何将两个 OR 语句与 QueryDSL 结合起来?
How to combine two OR statements with QueryDSL?
如何在QueryDSL中进行如下语句A OR (B AND C)
?
假设您有一个个人实体,如下
@Entity
public class Person {
@Id
@GeneratedValue(strategy = AUTO)
private Long id;
private String username;
private Integer age;
// Getter, Setter, Constructors as required
}
您有一个 查询 对象,如下所示
QPerson personA = new QPerson("a");
QPerson personB = new QPerson("b");
QPerson personC = new QPerson("c");
Assuming all are Person class query object
您可以像下面这样创建一个 Predicate
BooleanExpression A = personA.username.eq("X");
BooleanExpression B = personB.username.eq("Y");
BooleanExpression C = personC.username.eq("Z");
然后你可以像下面这样组合 BooleanExpression (Predicate)
A.or(B.and(C))
如何在QueryDSL中进行如下语句A OR (B AND C)
?
假设您有一个个人实体,如下
@Entity
public class Person {
@Id
@GeneratedValue(strategy = AUTO)
private Long id;
private String username;
private Integer age;
// Getter, Setter, Constructors as required
}
您有一个 查询 对象,如下所示
QPerson personA = new QPerson("a");
QPerson personB = new QPerson("b");
QPerson personC = new QPerson("c");
Assuming all are Person class query object
您可以像下面这样创建一个 Predicate
BooleanExpression A = personA.username.eq("X");
BooleanExpression B = personB.username.eq("Y");
BooleanExpression C = personC.username.eq("Z");
然后你可以像下面这样组合 BooleanExpression (Predicate)
A.or(B.and(C))