spring
QueryDSL 설정하기
heejunp
2025. 1. 18. 22:49
개발 환경
- spring boot 3.4.0
- gradle 8.10.0
🐘build.gradle
dependencies {
// 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"
}
Qclass 생성하기

QueryDSLConfig.java
import com.querydsl.jpa.impl.JPAQueryFactory;
import jakarta.persistence.EntityManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class QueryDSLConfig {
@Bean
JPAQueryFactory jpaQueryFactory(EntityManager em) {
return new JPAQueryFactory(em);
}
}
ExampleRepository.java
import org.springframework.data.jpa.repository.JpaRepository;
public interface ExampleRepository extends JpaRepository<Entity, Long>, JPACustomRepository {
}
ExampleCustomRepository.java
public interface ExampleCustomRepository {
// 필요한 Method 작성...
}
ExampleCustomRepositoryImpl.java
import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.stereotype.Repository;
import lombok.RequiredArgsConstructor;
@Repository
@RequiredArgsConstructor
public class ExampleCustomRepositoryImpl implements ExampleCustomRepository {
private final JPAQueryFactory queryFactory;
// Override Method 구현...
}