본문 바로가기
DBMS/Query

[queryDSL] 스프링 부트 3에 쿼리 dsl 설정하기

by notcherry 2023. 11. 28.

 

 

build.gradle에 의존성 추가

implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"

그 아래에 경로 설정

tasks.named('test') {
    useJUnitPlatform()
}

// Querydsl 설정부
def generated = 'src/main/generated'

// querydsl QClass 파일 생성 위치를 지정
tasks.withType(JavaCompile) {
    options.getGeneratedSourceOutputDirectory().set(file(generated))
}

// java source set 에 querydsl QClass 위치 추가
sourceSets {
    main.java.srcDirs += [ generated ]
}

// gradle clean 시에 QClass 디렉토리 삭제
clean {
    delete file(generated)
}

 

그래들 새로고침 함 해줍니다.

 

그리고 오른쪽에서 build -> clean 눌러줍니다.

 

 

그리고 아래에 other->compile.java를 눌러주면

 

 

build 패키지 아래에 q-type 클래스가 생성된 것을 확인할 수 있다. 

 

 

 

 

 

++warning: @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. If it is not supposed to be settable during building, make the field final.

 

이런 에러가 발생했었는데 해당 항목에 

 

@builder.default를 붙여주니 해결되었다! 고마워 짝꿍