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