개발놀이터

스프링 부트 5.0 Querydsl 설정 변경 본문

JPA/QueryDSL

스프링 부트 5.0 Querydsl 설정 변경

마늘냄새폴폴 2023. 5. 30. 13:43

스프링 부트가 5.0이 됨에 따라 그런지 모르겠지만 javax.persistence에 있던 EntityManager가 작동하지 않는 상황이 발생했습니다. 

 

이제 EntityManager는 jakarta.persistence로 바뀌게 되었는데 이에따라 querydsl의 설정을 바꿔줘야할 필요가 생겼습니다. 

 

구글링을 해본 결과는 다음과 같습니다. 

 

buildscript {
	ext {
		queryDslVersion = "5.0.0"
	}
}

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.1.0'
	id 'io.spring.dependency-management' version '1.1.0'
//  querydsl plugin 제거
//	id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}

group = 'com.test'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-batch'
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	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'
	testImplementation 'org.springframework.batch:spring-batch-test'

	implementation 'org.springframework.data:spring-data-elasticsearch:4.0.0.RELEASE'
	implementation 'org.elasticsearch.client:elasticsearch-rest-high-level-client:7.17.10'

	//querydsl 추가
	implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta"
	annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
	annotationProcessor "jakarta.annotation:jakarta.annotation-api"
	annotationProcessor "jakarta.persistence:jakarta.persistence-api"

}

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

//querydsl 추가
def querydslDir = "$buildDir/generated/querydsl"

clean {
	delete file(querydslDir)
}
//querydsl {
//	jpa = true
//	querydslSourcesDir = querydslDir

//sourceSets {
//	main.java.srcDir querydslDir
//}
//
//configurations {
//	querydsl.extendsFrom compileClasspath
//}
//
//compileQuerydsl {
//	options.annotationProcessorPath = configurations.querydsl
//}

 

부트 5.0부터 querydsl의 plugin이 잘 작동하지 않는 상황이 발생했다고 하네요. 때문에 이렇게 바뀌게 된 듯합니다. 

'JPA > QueryDSL' 카테고리의 다른 글

QueryDSL 중급문법  (0) 2022.02.07
QueryDSL 기본문법  (0) 2022.02.07
Querydsl 실무활용  (0) 2021.10.01
Querydsl 중급문법  (0) 2021.10.01
Querydsl 기본문법  (0) 2021.10.01