简体   繁体   English

如何将两个OR语句与QueryDSL结合?

[英]How to combine two OR statements with QueryDSL?

如何在QueryDSL A OR (B AND C)进行以下声明?

Let's say you have a Person Entity as follows 假设您有一个Person实体 ,如下所示

@Entity
public class Person {
    @Id
    @GeneratedValue(strategy = AUTO)
    private Long id;
    private String username;
    private Integer age;

    // Getter, Setter, Constructors as required

}

You have a query object like below 您有一个如下查询对象

QPerson personA = new QPerson("a");
QPerson personB = new QPerson("b");
QPerson personC = new QPerson("c");

Assuming all are Person class query object 假设所有都是Person类的查询对象

You can create a Predicate like below 您可以创建如下的谓词

BooleanExpression A = personA.username.eq("X");
BooleanExpression B = personB.username.eq("Y");
BooleanExpression C = personC.username.eq("Z");

Then you can combine the BooleanExpression (Predicate) like below 然后,您可以像下面那样组合BooleanExpression(Predicate)

A.or(B.and(C))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM