[Spring boot] JPA QueryDSL 환경 설정, 연동하기 (Maven, Gradle ver)
반응형
JPA에서 동적쿼리를 사용하기 위해 QueryDSL을 사용해야 하는데 이걸 쓰려면 외부에서 라이브러리를 가져와야 하기 때문에 세팅이 필요하다.
Maven version
pom.xml
//의존성 부분
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
</dependency>
//플러그인 부분
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
<options>
<querydsl.entityAccessors>true</querydsl.entityAccessors>
</options>
</configuration>
</execution>
</executions>
</plugin>
**run maven compile 실행해주기**
Gradle version
build.gradle
buildscript {
ext {
queryDslVersion = "5.0.0"
}
}
plugins {
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}
dependencies {
api 'org.springframework.boot:spring-boot-starter-data-jpa:2.7.5'
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
implementation "com.querydsl:querydsl-apt:${queryDslVersion}"
}
// querydsl 사용할 경로 지정합니다. 현재 지정한 부분은 .gitignore에 포함되므로 git에 올라가지 않습니다.
def querydslDir = "$buildDir/generated/'querydsl'"
// JPA 사용여부 및 사용 경로 설정
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
// build시 사용할 sourceSet 추가 설정
sourceSets {
main.java.srcDir querydslDir
}
// querydsl 컴파일 시 사용할 옵션 설정
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
// querydsl이 compileClassPath를 상속하도록 설정
configurations {
compileOnly {
extendsFrom annotationProcessor
}
querydsl.extendsFrom compileClasspath
}
application.properties
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true
**설정 후 gradle에서 clean, build 하기**
반응형
'Logs' 카테고리의 다른 글
-
[Spring Data JPA] org.springframework.core.convert.ConverterNotFoundException No converter found capable of converting from type 에러 해결 방법2023.04.12
-
[Spring Data JPA] JPA에서 Query작성하는 법(with @Query)2023.02.22
-
[Spring boot] @RequestBody로 객체 여러 개(entity, dto, dao, vo등) 한 번에 받아서 처리하는 법2023.02.22
-
[Error] Operation failed: There was an error while applying the SQL script to the database. ERROR 2013: Lost connection to MySQL server during query 에러 해결하는 법2023.02.22