Query 의 문제점
Query 는 문자, Type-check 불가능
실행하기 전까지 작동여부 확인 불가
만약에 SQL 이 클래스 처럼 타입이 있고 자바 코드로 작성 할 수 있다면?
type-safe → 컴파일 시 에러 체크 가능
쿼리를 Java 로 type-safe 하게 개발 할 수 있게 지원하는 프레임워크 입니다.
Querydsl - 레퍼런스 문서
QueryDSL
사용법
동적 쿼리
BooleanBuilder 를 사용하면 특정 조건에 따른 동적 쿼리를 편리하게 생성할 수 있다.
메소드 위임
메소드 위임 기능을 사용하면 쿼리 타입에 검색 조건을 직접 정의할 수 있다.
정적 메소드를 만들고 @QueryDlegate(엔티티클래스) 어노테이션에 속성으로 이 기능을 적용할 엔티티를 지정한다.
정적 메소드의 첫 번째 파라미터는 대상 엔티티의 쿼리 타입 (Q) 지정하고 나머지 파라미터는 필요한 파라미터를 지정한다.
생성된 쿼리 타입에 기능이 추가 된 것을 확인할 수 있다.