• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

동적쿼리 where절 파라미터 조합 질문입니다.

20.03.27 11:06 작성 조회수 276

9

private BooleanBuilder ageCond(Integer ageGoe, Integer ageLoe) {
BooleanBuilder booleanBuilder = new BooleanBuilder();
return booleanBuilder
.and(ageGoe(ageGoe))
.and(ageLoe(ageLoe))
.and(teamNameEq("teamB"));
}

private BooleanExpression usernameEq(String username) {
return isEmpty(username) ? null : member.username.eq(username);
}
private BooleanExpression teamNameEq(String teamName) {
return isEmpty(teamName) ? null : team.name.eq(teamName);
}
private BooleanExpression ageGoe(Integer ageGoe) {
return ageGoe == null ? null : member.age.goe(ageGoe);
}
private BooleanExpression ageLoe(Integer ageLoe) {
return ageLoe == null ? null : member.age.loe(ageLoe);
}

ageCond 처럼 여러 조건 조합시 null처리를 조금 이쁘게 하고 싶은데 다른 생각이 안나서 booleanBuilder로 해봤더니 별 문제는 없는데요, 혹시 다른 깔끔한 방법이 있을까요?

답변 1

답변을 작성해보세요.

4

안녕하세요 박승일님^^

깔끔하네요^^!

null까지 고려하면서 해결하기에는 이 방법이 가장 좋아보입니다. 혹시 더 나은 방법을 찾으면 저도 알려주세요^^!