springBoot3 버전 업그레이드 되면서, 소소하게 변경해야 될 것들이 늘어났다.
plugins {
id("org.springframework.boot") version "3.1.2"
id("io.spring.dependency-management") version "1.1.2"
kotlin("jvm") version "1.8.22"
kotlin("plugin.spring") version "1.8.22"
kotlin("plugin.jpa") version "1.8.22"
kotlin("plugin.allopen") version "1.8.22"
kotlin("kapt") version "1.8.22"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java {
sourceCompatibility = JavaVersion.VERSION_17
}
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
val querydslVersion = "5.0.0"
repositories {
mavenCentral()
}
allOpen {
// Spring Boot 3.0.0
annotation("jakarta.persistence.Entity")
annotation("jakarta.persistence.MappedSuperclass")
annotation("jakarta.persistence.Embeddable")
}
dependencies {
....
//jpa
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
//querydsl
implementation("com.querydsl:querydsl-jpa:$querydslVersion:jakarta")
kapt("com.querydsl:querydsl-apt:${querydslVersion}:jakarta")
}
kapt {
javacOptions {
option("querydsl.entityAccessors", true)
}
arguments {
arg("plugin", "com.querydsl.apt.jpa.JPAAnnotationProcessor")
}
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs += "-Xjsr305=strict"
jvmTarget = "17"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
tasks.jar {
enabled = false
}
compileKotlin을 하면,
큐 타입 클래스들이 해당 폴더 내에 잘 생성된 것을 확인할 수 있다.
@Configuration
@EnableJpaAuditing
class JPAConfig(
//@Suppress("SpringJavaInjectionPointsAutowiringInspection")
@PersistenceContext
private val entityManager: EntityManager
) {
@Bean
fun jpaQueryFactory(): JPAQueryFactory {
return JPAQueryFactory(entityManager)
}
}
이제 jpaQueryFactory를 레파지토리 클래스에 주입받아서 사용하면 끝~
담번에 AWS SDK 2 를 사용하게 되면서 변경점들을 소개해볼까한다.
시간 3시간 날린거 여기서 해결했네요. 감사합니다.