簡體   English   中英

如何將兩個OR語句與QueryDSL結合?

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

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

假設您有一個Person實體 ,如下所示

@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");

假設所有都是Person類的查詢對象

您可以創建如下的謂詞

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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM