QuerydslPredicateExecutor는 스프링 데이터에서 제공하는 Querydsl 기능이다. (공식 문서)
Where절의 조건에 해당하는 내용(Predicate)을 파라미터로 받아 해당 조건에 따른 결과를 반환하는 인터페이스이다.
이 코드를 실행하면 아래와 같은 쿼리가 나간다.
Predicate의 구현체인 BooleanExpression을 사용하면 and나 or 조건을 걸 수 있다.
하지만 QuerydslPredicateExecutor는 아래와 같은 한계점이 있다.
- join이 불가능하다.(묵시적 조인만 가능하다.)
- 클라이언트가 Querydsl에 의존해야 한다. 서비스 클래스가 Querydsl이라는 구현 기술에 의존해야 한다.