Programing/Spring Boot

코틀린 QueryDsl 설정 적용하는 방법

딩코딩 2023. 6. 30. 09:51

1.build.gradle에 querydsl, kapt 라이브러리 추가

//build.gradle

plugins {
    id("org.springframework.boot") version "2.4.12"
    id("io.spring.dependency-management") version "1.0.11.RELEASE"
    kotlin("kapt") version "1.4.32" // 추가
}


dependencies {
    //querydsl 추가
    sourceSets.main {
        withConvention(org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet::class) {
            kotlin.srcDir("$buildDir/generated/source/kapt/main")
        }
    }
    
    val queryDslVersion = "5.0.0"
    implementation("com.querydsl:querydsl-jpa:${queryDslVersion}")
    implementation("com.querydsl:querydsl-core:${queryDslVersion}")
    kapt("com.querydsl:querydsl-apt:${queryDslVersion}:jpa")
    
        
    annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") 
}

 

2. gradle 리로드

3.빌드 3개중 하나 해서 Q파일 생성 되는지 확인. Q파일 생성위치 build/generated/source/kapt/main/

 

4. QuerydslConfig 파일 생성

import com.querydsl.jpa.impl.JPAQueryFactory
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import javax.persistence.EntityManager

class QuerydslConfig {
    @Configuration
    class QuerydslConfiguration(private val entityManager: EntityManager) {
        @Bean
        fun jpaQueryFactory(): JPAQueryFactory {
            return JPAQueryFactory(entityManager)
        }
    }
}