jingyulog

QueryDSL의 BooleanExpression 본문

Tech/JPA

QueryDSL의 BooleanExpression

jingyulog 2023. 4. 30. 18:28

✍️ 정의

  • QueryDSL에서는 BooleanExpression이라는 where절에서 사용할 수 있는 값을 지원한다.
  • BooleanExpression을 반환하는 메서드를 만들고, 해당 조건들을 다른 쿼리를 생성할 때 사용할 수 있기 때문에 중복 코드를 줄일 수 있다는 장점이 있다. ( 코드의 재사용 )

🔎 사용법

private BooleanExpression usernameEq(String username) {
    return StringUtils.hasText(username) ? member.username.eq(username) : null;
}

private BooleanExpression teamNameEq(String teamName) {
    return StringUtils.hasText(teamName) ? team.name.eq(teamName) : null;
}

private BooleanExpression ageGoe(Integer ageGoe) {
    return ageGoe != null ? member.age.goe(ageGoe) : null;
}

private BooleanExpression ageLoe(Integer ageLoe) {
    return ageLoe != null ? member.age.loe(ageLoe) : null;
}