QueryDSL

이상인·2023년 9월 14일
0

q클래스
자동으로 만들어주는
이걸로 sql 쿼리 작성하듯이 메서드를 짤 수 있다
최적화에 장점이 있다

단점은
q클래스를 생성해주는 설정같은게 필요해서 복잡함
이로 인해 발생하는 사이드에 문제가 있다.
-> 개발하면서 겪게 될것
의존성이 생기면서 발생하는 제한들이 있다.


// Spring boot 3.x이상에서 QueryDsl 패키지를 정의하는 방법

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"

// === QueryDsl 빌드 옵션 (선택) ===
def querydslDir = "$buildDir/generated/querydsl"

sourceSets {
main.java.srcDirs += [ querydslDir ]
}

tasks.withType(JavaCompile) {
options.annotationProcessorGeneratedSourcesDirectory = file(querydslDir)
}

clean.doLast {
file(querydslDir).deleteDir()
}


id "com.ewerk.gradle.plugins.querydsl" version '1.0.10'

위 코드를 plugin에 넣는 레퍼런스들이 정말 많았다
아래 오류가 발생하여 빌드도 clean해보고 다시 실행해보고 뭐 Q클래스 있는 디렉토리도 지워보고 별짓 다 했다
해결이 안 되고 몇시간을 이 사이트 저 사이트 검색하고 떠돌다가 발견한 것은
위 플러그인 내용을 넣으면 안된다는 글이었다.

지우고 나니 귀신같이 해결되었다

타인의 게시글을 참고하는 일이 마냥 좋은 일만은 아닌 것 같다 참고는 어디까지나 참고일 뿐.

0개의 댓글