검색 조건

@SpringBootTest
@Transactional
public class QuerydslBasicTest {

    @Test
    void search() {
        Member findMember = queryFactory
                // select와 from이 같으면 합칠 수 있다.
                .selectFrom(member)
                .where(member.username.eq("member1")
                        .and(member.age.eq(10))
                ).fetchOne();

        assertThat(findMember.getUsername()).isEqualTo("member1");
    }
}
select member1
from Member member1
where member1.username = ?1
  and member1.age = ?2
  • and, or를 메서드 체인으로 연결할 수 있다.

  • select, from을 selectFrom으로 합칠 수 있다.

제공하는 검색 조건

  • JPQL이 제공하는 모든 검색 조건을 제공한다.

AND 조건을 파라미터로 처리

  • where()의 파라미터로 검색 조건을 추가하면 and가 적용된다.

  • null 값을 무시하기 때문에 메서드 추출을 활용해 동적 쿼리를 깔끔하게 만들 수 있다.

Last updated

Was this helpful?