Kotlin + Querydsl 설정 Boot 3.0

Shaun·2023년 2월 18일
2

querydsl

목록 보기
4/4
post-thumbnail

오류 내용만 복사해서 검색하다가 죄다 안드로이드 글만 보게되서 미치는줄 알았다.

다행히 okky의 도움으로 답을 찾았다

예전에도 자바에서 querydsl 설정할떄 비슷한 문제에 직면했던거 같은데.. 그때 기록을 안해서 또 겪은것 같다. 기록의 중요성을 다시 느낀다.

Querydsl은 SpringBoot 즉 Spring 버전 마다 설정법이 다르다는점!

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.0.0'
	id 'io.spring.dependency-management' version '1.1.0'
    // querydsl관련 명령어를 gradle탭에 생성해준다. (권장사항)
    id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" 

}

group = 'sample'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.mysql:mysql-connector-j'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	
    // === QueryDsl 시작 ===
    
	// == 스프링 부트 3.0 이상 ==
	implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
	annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
    
    // == 스프링 부트 3.0 미만 ==
    implementation 'com.querydsl:querydsl-jpa'
	annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"
    
	annotationProcessor "jakarta.annotation:jakarta.annotation-api"
	annotationProcessor "jakarta.persistence:jakarta.persistence-api"
    
    // === QueryDsl 끝 ===
}

tasks.named('test') {
	useJUnitPlatform()
}

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

querydsl {
	jpa = true
	querydslSourcesDir = querydslDir
}

sourceSets {
	main.java.srcDir querydslDir
}

configurations {
	querydsl.extendsFrom compileClasspath
}

compileQuerydsl {
	options.annotationProcessorPath = configurations.querydsl
}
profile
호주쉐프에서 개발자까지..

0개의 댓글