如何在QueryDSL A OR (B AND C)
中制作以下声明?
答案 0 :(得分:1)
我们假设您有人员实体,如下所示
@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))
强>