하이버네이트 쿼리 언어의 쿼리를 타입에 안전하게 생성 및 관리해주는 프레임워크로, 자바 백엔드에서 Spring Data JPA를 함께 사용한다. 하지만 JPA로 복잡한 쿼리, 동적 쿼리를 구현하는데 한계가 있기 때문에 이를 해결할 수 있는 것이 QueryDSL 이다.Mybatis, JPQL 등 문자열 형태로 쿼리문을 작성하여 컴파일 시에 오류를 발견하는 것이 불가능했지만, QueryDSL은 자바 코드로 SQL문을 작성할 수 있기 때문에 컴파일 시에 발생하는 오류를 확인할 수 있다. 예를 들어서 복잡한 검색 조건이 있다고 가정해보자public interface MemberRepository extends JpaRepository { // 이름이 포함되고, 특정 나이 이상이며, 특정 지역에 사는 활..