Gradle 전체 설정


build.gradle에 주석을 참고해서 querydsl 설정 추가

plugins {
	id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}

group = 'study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	// Querydsl
  implementation 'com.querydsl:querydsl-jpa'

  // Querydsl Lombok
  annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: '4.3.1'
}

test {
	useJUnitPlatform()
}

//querydsl 설정
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
	jpa = true
	querydslSourcesDir = querydslDir
}
sourceSets {
	main.java.srcDir querydslDir
}
configurations {
	querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
	options.annotationProcessorPath = configurations.querydsl
}

검증용 Q 타입 생성

참고 : Q타입은 컴파일 시점에 자동 생성되므로 버전관리(GIT)에 포함하지 않는 것이 좋다. 앞서 설정에서 생성위치를 gradle build 폴더 아래 생성되도록 했기 때문에 이 부분도 자연스럽게 해결된다. (대부분 gradle build 폴더를 git에 포함하지 않는다.)

예제 도메인 모델