JPA

intelliJ환경 spring boot jpa에 querydsl적용하기

기기디 2021. 5. 12. 15:24

새로운 프로젝트를 진행하며 환경설정중에 처음에는 이동욱님 글을 참조하여 세팅하려 했으나

jojoldu.tistory.com/372

 

Spring Boot Data Jpa 프로젝트에 Querydsl 적용하기

안녕하세요? 이번 시간에는 Spring Boot Data Jpa 프로젝트에 Querydsl을 적용하는 방법을 소개 드리겠습니다. 모든 코드는 Github에 있습니다. Spring Data Jpa를 써보신 분들은 아시겠지만, 기본으로 제공해

jojoldu.tistory.com

annotationProcessor jakarta~ 설정하는 부분에서 jakarta annotation을 찾지 못하는 문제가 있어 다르게 설정해봤다

 

buildscript{
    ext{
        querydslVersion = "4.3.1"
    }
}

plugins {
    ...
    id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
    jcenter()
    google()
}

apply plugin: "io.spring.dependency-management"
dependencies {
    ...
    annotationProcessor "javax.persistence:javax.persistence-api:2.2"
    compile("com.querydsl:querydsl-jpa")
    compile("com.querydsl:querydsl-apt")
}


def querydslSrcDir = 'src/main/generated'

querydsl {
    library = "com.querydsl:querydsl-apt"
    jpa = true
    querydslSourcesDir = querydslSrcDir
}

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

configurations {
    querydsl.extendsFrom compileClasspath
}

compileQuerydsl {
    options.annotationProcessorPath = configurations.querydsl
}

sourceSets {
    main {
        java {
            srcDirs = ['src/main/java', querydslSrcDir]
        }
    }
}