Where 다중 파라미터 사용, Null 처리관련 질문입니다.
BooleanBuilder를 사용하면 간단하지 않을까요?@Test void dynamicQueryWhereParamAll() { String usernameParam = "member1"; Integer ageParam = 10; List result = searchMember3(usernameParam, ageParam); assertThat(result.size()).isEqualTo(1); } private List searchMember3(String usernameCond, Integer ageCond) { return query.selectFrom(member) .where(allEq(usernameCond, ageCond)) .fetch(); } private Predicate usernameEq(String usernameCond) { return usernameCond != null ? member.username.eq(usernameCond) : null; } private Predicate ageEq(Integer ageCond) { return ageCond != null ? member.age.eq(ageCond) : null; } private BooleanBuilder allEq(String usernameCond, Integer ageCond) { BooleanBuilder builder = new BooleanBuilder(); return builder.and(usernameEq(usernameCond)).and(ageEq(ageCond)); }