개요

QueryDSL은 하이버네이트 쿼리 언어(HQL: Hibernate Query Language)의 쿼리를 타입에 안전하게 생성 및 관리해주는 프레임워크다.

QueryDSL은 정적 타입을 이용하여 SQL과 같은 쿼리를 생성할 수 있게 해준다. (출처)

JPA 만으로는 처리하기 어려운 다양한 동적 쿼리를 만들기 위해, Query DSL를 사용한다.

실제로 나는 프로젝트 진행 중.

JPA의 간단한 Query 만으로는 검색, 필터, 매칭 등의 기능 작성 중에 JPA의 한계를 느껴서,

Query DSL을 사용해보려 한다.

Query DSL은 자동으로 Query 최적화를 지원한다.

Query DSL을 작성한 코드에서, 코드를 어떤 순서로 작성했던지 상관없이.

더 효율적인 동작 순서를 찾아서, Query를 최적화한다.

만일 where 이후에 join이 동작해야 효율적이라면, 해당 방식을 채택하고, where의 동작을 위해 join이 필수적이라면 join을 먼저 동작시킨다.

때문에 Query의 효율 때문에 많은 고민을 할 필요가 없다.

[QueryDSL]SQL의 substring과 Java의 substring

BooleanBuilder & BooleanExpression

동적 쿼리를 만들기 위한

[ Querydsl ] 동적쿼리 만들기(BooleanExpression, BooleanBuilder)