Hansel

Querydsl / 적용 본문

Spring/Querydsl

Querydsl / 적용

핑슬 2022. 7. 21. 18:25

이전에 프로젝트를 진행하다 동적 쿼리를 유연하게 처리하지 못해

각 상황에 맞는 쿼리를 작성하여 처리한 경험이 있었다.

 

해당 문제를 해결하고 비슷한 문제를 겪지 않도록 Querydsl을 학습하려 한다.

 

추가

추가하는 방법은 간단하다.

Gradle 기준으로 Build.gradle에 의존성을 추가해주면 된다.

 

	implementation 'com.querydsl:querydsl-jpa'
	annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"
	annotationProcessor "jakarta.annotation:jakarta.annotation-api"
	annotationProcessor "jakarta.persistence:jakarta.persistence-api"

 

Querydsl이 적용되면, 빌드 시점에 Q클래스가 생성이 된다.

해당 Q클래스를 활용하여 쿼리를 작성하게 되는데 위 스크립트를 gradle에 추가해주면

gradle 클린 시점에 해당 위치에 존재하는 파일을 삭제할 수 있다.

 

Q클래스 생성

인텔리제이 빌드를 기준으로 아래 3가지 방식을 통해 Q클래스를 생성할 수 있다.

Q클래스가 생성되는 위치는 사진과 같다.

  • Build -> Build Project 
  • Build -> Rebuild 
  • main() , 테스트 실행

 

Gradle을 기준으로 아래 방식을 사용해 Q클래스를 생성할 수 있다.

Gradle의 경우 Q클래스는 Build 디렉토리 하위에 생성된다.

  • Gradle -> Tasks -> build -> clean & Gradle -> Tasks -> other -> compileJava
  • (터미널) ./gradlew clean compileJava

 

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

QueryDsl 활용 1  (0) 2022.07.27
Querydsl 기초 문법 2  (0) 2022.07.25
Querydsl 기초 문법 1  (0) 2022.07.21