동적 쿼리
- QueryDSL에서는 두 가지 방법을 통해 동적 쿼리를 생성할 수 있다.
- 종류
- BooleanBuilder
- Where 다중 파라미터
BooleanBuilder
- JPA Criteria API에서 제공하는 조건 생성 클래스를 활용하는 방법
- 여러 개의 조건을 논리적으로 연결하여 동적 쿼리를 생성한다.
- and(), or(), not() 등의 메소드를 통해 조건을 조합할 수 있다.
- 장점
- 다양한 조건을 자유롭게 조합할 수 있다.
- 코드 작성이 간편하다.
- 단점
- 코드 가독성이 떨어질 수 있다.
- 복잡한 조건을 처리하기 어려워질 수 있다.
Where 다중 파라미터
- JPA QueryDSL에서 제공하는 기본 기능을 활용하는 방법
where(Predicate... o)
메소드에 여러 개의 파라미터를 전달하여 동적 쿼리를 생성한다.- and(), or(), not() 등의 메소드를 통해 조건을 조합할 수 있다.
- 장점
- 코드 가독성이 높다.
- 복잡한 조건을 처리하기 쉽다.
- 단점
- 코드 작성이 다소 번거롭다.
- 지원하는 기능이 제한적일 수 있다.
- 조합해서 사용할 수 있다.
- 대신 null 체크를 주의해서 처리해야 한다.
출처