🧶QueryDSL을 알아보자

2025. 2. 17. 21:41·TIL

 

QueryDSL이라.. 이 녀석도 처음임..ㅎ

 

우선 세팅을 먼저 진행해보자!

Gradle 추가

//QueryDSL의 버전 //plugin 보다 앞에 둘 것
buildscript {
	ext {
		queryDslVersion = "5.0.0"
	}
}

dependencies {
	//QueryDSL JPA 라이브러리
	implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
	// QueryDSL APT(Annotation Processing Tool)
	annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
	//Jakarta Annotation API
	annotationProcessor "jakarta.annotation:jakarta.annotation-api"
	// Jakarta Persistence API
	annotationProcessor "jakarta.persistence:jakarta.persistence-api"
}

//Q타입 클래스 디렉토리 경로
def generated = 'src/main/generated'

//'generated' 디렉토리에 저장
tasks.withType(JavaCompile) {
	options.getGeneratedSourceOutputDirectory().set(file(generated))
}

//generated 디렉토리를 메인 소스에 추가하여 컴파일에 포함
sourceSets {
	main.java.srcDirs += [ generated ]
}

//clean 시 generated 디렉토리를 삭제
clean {
	delete file(generated)
}
  • gradle clean > build
    • Q클래스 생성된 걸 확인할 수 있음

.gitignore

src/main/generated
  • src/main/generated 디렉토리는 자동으로 생성된 파일들이므로, 버전 관리에 포함할 필요가 없음

QueryDslConfig 생성

@Configuration
@RequiredArgsConstructor
public class QueryDslConfig {

    private final EntityManager em;

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

 

'TIL' 카테고리의 다른 글
  • ⌛지연 로딩과 영속성 컨테스트
  • 🤯 첫 PR
  • 🐋Docker 환경구축
  • 🤯Git 관리 어떻게 하는 건데
초비비
초비비
  • 초비비
    cho
    초비비
  • 전체
    오늘
    어제
    • 분류 전체보기
      • TIL
      • 정보처리기사
      • Oracle(sql)
      • 후기
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    항해솔직후기
    항해99
    항해개발자취업
    항해취업리부트코스
    항해취업코스후기
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
초비비
🧶QueryDSL을 알아보자
상단으로

티스토리툴바