QueryDsl을 사용하기에 앞서 build.gradle을 설정하는데에 오류가 발생하였다. Spring boot 3.0.x 로 버전이 올라가면서 설정 방법이 달라져 발생하는 오류이다.
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.3'
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
// QueryDsl 설정
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
}
tasks.named('test') {
useJUnitPlatform()
}
clean {
delete file('src/main/generated')
}
javax
가 jakarta
로 옮겨 갔으므로Unable to load class 'javax.persistence.Entity'
에러를 피하기 위해서는jakarta
로 종속성을 넣어주어야 한다.{project-name}/src/main/generated
)에 생기게 되어 깔끔하다.compileQuerydsl
로 가능하다.Attempt to recreate a file for type {Qfile}
Error가 계속 발생하였다.