diff --git a/.gitignore b/.gitignore index c2065bc..9011c4c 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,6 @@ out/ ### VS Code ### .vscode/ + +### Querydsl ### +/src/main/generated/ diff --git a/build.gradle b/build.gradle index 7fe6e3f..90e9951 100644 --- a/build.gradle +++ b/build.gradle @@ -48,9 +48,25 @@ dependencies { annotationProcessor 'org.projectlombok:lombok' + // querydsl 추가 + implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' + annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" + annotationProcessor "jakarta.annotation:jakarta.annotation-api" + annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } + +// Querydsl 설정 +def generated = 'src/main/generated' + +tasks.withType(JavaCompile) { + options.getGeneratedSourceOutputDirectory().set(file(generated)) +} + +clean { + delete file(generated) +} \ No newline at end of file diff --git a/src/main/java/org/example/daedongyeojido_be/global/config/config/QuerydslConfig.java b/src/main/java/org/example/daedongyeojido_be/global/config/config/QuerydslConfig.java new file mode 100644 index 0000000..dbf2643 --- /dev/null +++ b/src/main/java/org/example/daedongyeojido_be/global/config/config/QuerydslConfig.java @@ -0,0 +1,20 @@ +package org.example.daedongyeojido_be.global.config.config; + +import com.querydsl.jpa.impl.JPAQueryFactory; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class QuerydslConfig { + + @PersistenceContext + private EntityManager entityManager; + + @Bean + public JPAQueryFactory jpaQueryFactory() { + return new JPAQueryFactory(entityManager); + } + +}