Spring/Querydsl

QueryDSL 맛보기

민철킹 2021. 6. 7. 22:58

http://www.querydsl.com/

 

Querydsl - Unified Queries for Java

Unified Queries for Java. Querydsl is compact, safe and easy to learn.

 

조건에 따라 실행되는 쿼리가 달라지는 동적 쿼리를 사용해야하는 경우가 많은데 이를 해결할 수 있는 것이 바로 QueryDSL이다.

JPQL를 자바 코드로 작성할 수 있도록 해준다.

 

직접 문자열을 더해 동적 쿼리를 만들거나, JPA가 제공하는 Criteria를 사용하여 동적 쿼리를 만드는 방식은 코드가 굉장히 복잡하고 어떤 쿼리를 만들고 있는지 파악하기 쉽지않다. ==> 유지보수 매우 어려움!

 

먼저 QueryDSL 라이브러리를 추가한 후에 사용해야한다.

어떤 쿼리가 작성되고 있는지 한눈에 봐도 명확하게 알 수 있다. 조건문을 통해 동적 쿼리를 간편하게 생성가능!

또한, 가장 큰 장점은 만약 쿼리 작성 중 오타가 발생한다면 java 코드이기 때문에 컴파일 시점에 오류를 모두 잡아낼 수 있다

 

동적 쿼리가 아니라 정적 쿼리인 경우에도 다음과 같은 이유로 Querydsl을 사용하는 것이 좋다.

  • 직관적인 문법
  • 컴파일 시점에 빠른 문법 오류 발견
  • 코드 자동완성
  • 코드 재사용(이것은 자바다)
  • JPQL new 명령어와는 비교가 안될 정도로 깔끔한 DTO 조회를 지원한다.
반응형

'Spring > Querydsl' 카테고리의 다른 글

순수 JPA와 Querydsl  (0) 2021.08.30
중급 문법  (0) 2021.06.29
기본 문법  (0) 2021.06.18
Querydsl 설정  (0) 2021.06.17