Skip to content

Commit

Permalink
Merge pull request #104 from modu-menu/feat/add-querydsl
Browse files Browse the repository at this point in the history
Querydsl 적용
  • Loading branch information
eelseungmin authored May 17, 2024
2 parents cb4b0f9 + eefde1c commit f61daec
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
16 changes: 16 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ repositories {
mavenCentral()
}

def queryDslVersion = '5.0.0'

dependencies {
compileOnly group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: '6.0.0'
implementation 'org.springframework.boot:spring-boot-starter'
Expand All @@ -38,6 +40,20 @@ dependencies {
implementation group: 'com.auth0', name: 'java-jwt', version: '4.4.0'
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
implementation group: 'com.github.maricn', name: 'logback-slack-appender', version: '1.6.0'
// Querydsl 추가
// 필수
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta"
implementation "com.querydsl:querydsl-core:${queryDslVersion}"
// QueryDsl 쿼리 타입 생성 (QClass 생성 시 @Entity 탐색)
annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}:jakarta"
// java.lang.NoClassDefFoundError:javax/persistence/Entity 에러 방지
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
}

// Querydsl 추가, 자동 생성된 Q클래스 gradle clean으로 제거
clean {
delete file('src/main/generated')
}

test {
Expand Down
19 changes: 19 additions & 0 deletions src/main/java/modu/menu/core/config/QuerydslConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package modu.menu.core.config;

import com.querydsl.jpa.impl.JPAQueryFactory;
import jakarta.persistence.EntityManager;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@RequiredArgsConstructor
public class QuerydslConfig {

private final EntityManager em;

@Bean
public JPAQueryFactory jpaQueryFactory() {
return new JPAQueryFactory(em);
}
}

0 comments on commit f61daec

Please sign in to comment.