본문 바로가기
☕Java

QueryDSL 정리

by 캔 2022. 7. 3.

JPA를 사용하면서 동적 쿼리를 위해 QueryDSL을 사용하기로 결정하면서 QueryDSL을 공부하기 시작했다. 공부한 내용을 간단히 정리해본다.

 

QueryDSL은 JPA 사용 시 SQL처럼 쿼리를 작성할 수 있게 해주고 복잡한 쿼리와 동적 쿼리를 쉽게 사용할 수 있도록 도와주는 프레임워크이다. 런타임이 아니라 컴파일 타임에 오류를 잡을 수 있다.

 

QueryDSL 사용시 'Q + 엔티티 이름' 형태의 Q class가 생성된다.

 

Spring DataJpa와 다르게 Repository 클래스를 직접 만들어 사용한다.

 

Repository 클래스에는 EntityManager와 QueryFactory를 주입하여 사용한다.

 

쿼리 중 where 조건 절 사용 시 Predicate를 사용한다.