-
Notifications
You must be signed in to change notification settings - Fork 0
QueryDsl Configuration (Gradle, IDEA)
정명주(myeongju.jung) edited this page Apr 30, 2018
·
2 revisions
queryDsl.gradle
// queryDsl을 통해 자동을 생성되는 QType의 저장 경로
def queryDslOutput = hasProperty("querydslGeneratedDir") ? querydslGeneratedDir : "src/main/generated"
def queryDslOutputDir = file(queryDslOutput)
println displayName + " QueryDsl Generated Q-Type output dir : " + queryDslOutput
// queryDsl을 통해 자동을 생성되는 QType의 저장 경로를 소스디렉토리로 포함시킨다.
sourceSets {
main {
java {
srcDirs += queryDslOutputDir
}
}
}
dependencies {
compile 'com.querydsl:querydsl-apt'
}
// QType 생성 task
task generateQueryDSL(type: JavaCompile, group: 'build') {
doFirst {
if (!queryDslOutputDir.exists()) {
logger.info("Creating `$queryDslOutputDir` directory")
if (!queryDslOutputDir.mkdirs()) {
throw new InvalidUserDataException("Unable to create `$queryDslOutputDir` directory")
}
}
}
source = sourceSets.main.java
classpath = configurations.compile
options.compilerArgs = [
"-proc:only",
"-processor",
"com.querydsl.apt.jpa.JPAAnnotationProcessor"
]
destinationDir = queryDslOutputDir
}
// 클린 시 queryDsl을 통해 자동을 생성되는 QType의 저장 경로도 삭제한다.
clean {
//noinspection GroovyAssignabilityCheck
delete queryDslOutputDir
}
build.gradle
apply from: "$rootProject.projectDir/queryDsl.gradle"
// ...
compileJava.dependsOn(generateQueryDSL)
<dependencies>
...
<!-- persistence:querydsl -->
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
...
<build>
<plugins>
...
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
QueryDsl
- Module content root 를 선택
-
Annotation Processor를 영역 하단 +를 선택 해서 직접 등록한다.
com.querydsl.apt.jpa.JPAAnnotationProcessor
lombok.launch.AnnotationProcessorHider$AnnotationProcessor
- [확인]
- 적용할 모듈을 선택 후 적용한다.
JAVA
JPA
- JPA-Create-And-Update
- Optional-Eager
- QueryDsl-Configuration
- QueryDsl-More-Type-safety
- QueryDsl-SubQuery
DDD
Install
Spring
Spring-Boot
- Swagger2-Configuration
- Spring-Restdocs-Configuration
- Spring-Page-Jackson
- JSR310-Guide
- logback-spring.xml
- WebMvcUtils.java
- Spring-Boot-Properties
- Spring-Boot-Hidden-Gems
- Spring-Boot-Config
Spring-Cloud
- Spring-Cloud-Zuul
- Spring-Cloud-Feign
- Spring-Cloud-Hystrix
- Spring-Cloud-Consul
- Spring-Cloud-Ribbon
- Spring-Cloud-Circuit-Breaker
JavaScript
Gradle
Test
Linux
Etc
TODO http://zoltanaltfatter.com/2017/06/09/publishing-domain-events-from-aggregate-roots/