QueryDsl 사용법

컴클로딩·2022년 8월 8일
0

QueryDsl?

QueryDsl 사용하는 이점

  • IDE를 통한 자동완성 기능
  • 컴파일 에러가 발생
  • 조건문을 사용한 동적 쿼리문 작성이 간편
  • 코드의 재사용성 증가

QueryDsl 사용하는 단점

  • 까다롭다

간단한 사용예시

사용 예시
1) query문을 작성하려면 JpaQuery 인스턴스가 필요합니다. 이를 위해 JpaQueryFactory를 통해 인스턴스를 생성해야 합니다. 먼저 JpaQueryFactory를 영속성 컨텍스트를 파라미터로 넘겨서 생성합니다.(Querydsl은 JPA API를 사용하며 JPA를 지원하는 모듈입니다.)
JpaQueryFactory queryFactory = new JpaQueryFactory(em);
2) 사용하려는 QEntity를 생성합니다.
QItem qItem = QItem.item; -> QItem은 정적 메소드로 만들어져 있는 인스턴스를 가져옵니다.
3) 쿼리문 작성
JpaQuery<Item> query = queryFacotory.selectFrom(qItem)......where....조건문;
4) 쿼리 결과 반환
List<Item> items = query.fetch();

출처 : 쿼리 메소드, JPQL, Querydsl 요약 - https://velog.io/@simgyuhwan/%EC%BF%BC%EB%A6%AC-%EB%A9%94%EC%86%8C%EB%93%9C-JPQL-Querydsl-%EC%9A%94%EC%95%BD

Get Strated

1. build.gradle에서 Querydsl 설정 방법

2.

예제를 통해 QueryDsl 공부

Projection 사용하기

프로젝션(Projection)은 select 절에서 어떤 컬럼들을 조회할지 대상을 지정하는 것을 말한다.

서브쿼리 사용하기

Case When 사용하기

N+1 문제 해

좋아요 기능 구현...

Use Dynamic Query

Use Join

참고자료

profile
어떠한 가치를 창출할 수 있을까를 고민하는 개발자. 주로 Spring으로 개발해요. https://comclothing.tistory.com/ 👈🏻티스토리 블로그로 이전 완료

0개의 댓글