동적 쿼리를 해결하는 두가지 방식
BooleanBuilder
Where 다중 파라미터 사용
@Test
public void dynamicQuery_BooleanBuilder() {
String usernameParam = "member1";
Integer ageParam = 10;
List<Member> result = searchMember1(usernameParam, ageParam);
assertThat(result.size()).isEqualTo(1);
}
private List<Member> searchMember1(String usernameCond, Integer ageCond) {
BooleanBuilder builder = new BooleanBuilder();
if (usernameCond != null) {
builder.and(member.username.eq(usernameCond));
}
if (ageCond != null) {
builder.and(member.age.eq(ageCond));
}
return queryFactory
.selectFrom(member)
.where(builder)
.fetch();
}
출처 : 김영한 JPA 스프링 데이터 강의
'Querydsl' 카테고리의 다른 글
수정, 삭제 벌크 연산 (0) | 2022.07.26 |
---|---|
동적 쿼리 - Where 다중 파라미터 사용 (0) | 2022.07.25 |
프로젝션과 결과 반환 - @QueryProjection (0) | 2022.07.25 |
프로젝션과 결과 반환 - DTO 조회 (0) | 2022.07.25 |
프로젝션과 결과 반환 - 기본 (0) | 2022.07.25 |