사용자 도구

사이트 도구


gradle:jpa_metamodel_generation

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
gradle:jpa_metamodel_generation [2018/06/12 17:30]
kwon37xi [QueryDSL]
gradle:jpa_metamodel_generation [2018/08/23 17:41] (현재)
kwon37xi
줄 7: 줄 7:
 ===== QueryDSL ===== ===== QueryDSL =====
   * [[java:​querydsl|QueryDSL]]의 경우 [[https://​github.com/​ewerk/​gradle-plugins/​tree/​master/​querydsl-plugin|Graldle QueryDSL Plugin]]으로 해결 가능하다.   * [[java:​querydsl|QueryDSL]]의 경우 [[https://​github.com/​ewerk/​gradle-plugins/​tree/​master/​querydsl-plugin|Graldle QueryDSL Plugin]]으로 해결 가능하다.
 +
 +<code groovy>
 +apply plugin: "​com.ewerk.gradle.plugins.querydsl"​
 +
 +compile "​com.querydsl:​querydsl-jpa:​$queryDslVersion"​
 +
 +
 +ext {
 +    querydslSrcDir = '​src/​main/​generated'​
 +}
 +
 +
 +querydsl {
 +    library = "​com.querydsl:​querydsl-apt"​
 +    jpa = true
 +    querydslSourcesDir = querydslSrcDir
 +}
 +
 +sourceSets {
 +    main {
 +        java {
 +            srcDirs += file(querydslSrcDir)
 +        }
 +    }
 +}
 +
 +idea {
 +    module {
 +        generatedSourceDirs += file(querydslSrcDir)
 +    }
 +}
 +</​code>​
 +
   * ''​compileQueryDsl''​ task로 코드 생성을 할 수 있다.<​code sh>   * ''​compileQueryDsl''​ task로 코드 생성을 할 수 있다.<​code sh>
 gradlew clean cleanQuerydslSourcesDir compileQueryDsl gradlew clean cleanQuerydslSourcesDir compileQueryDsl
줄 48: 줄 81:
             srcDir jpaMetamodelGeneratedDir             srcDir jpaMetamodelGeneratedDir
         }         }
 +    }
 +}
 +
 +idea {
 +    module {
 +        sourceDirs += file(jpaMetamodelGeneratedDir)
     }     }
 } }
줄 83: 줄 122:
 // 필요하면 compileJava가 generateJpaMetamodel 에 의존하도록 변경한다. // 필요하면 compileJava가 generateJpaMetamodel 에 의존하도록 변경한다.
 </​code>​ </​code>​
 +
 +==== Lombok 사용시 ====
 +[[java:​lombok|Lombok]] 사용시 문제가 된다면 [[https://​medium.com/​@geminikim/​%EA%B0%9C%EC%9D%B8%EC%B7%A8%ED%96%A5-jpa-%EC%82%AC%EC%9A%A9%EA%B8%B0-querydsl-gradle-lombok-76c509aec60e|개인취향 JPA 사용기 - QueryDSL + Gradle + Lombok – Gemini Kim – Medium]] 참고. [[https://​github.com/​ewerk/​gradle-plugins/​issues/​59|querydsl + lombok problem · Issue #59 · ewerk/​gradle-plugins]]
 +
 +<​code>​
 +task generateQueryDSL(type:​ JavaCompile,​ group: '​build'​) {
 + source = sourceSets.main.java
 + classpath = configurations.compile
 + destinationDir = queryDslOutput
 + options.compilerArgs = [
 + "​-proc:​only",​
 +                        /​********************* 핵심 포인트! *********************/​
 + "​-processor",​ '​com.querydsl.apt.jpa.JPAAnnotationProcessor,​lombok.launch.AnnotationProcessorHider$AnnotationProcessor'​
 + ]
 +}
 +compileJava.dependsOn(generateQueryDSL)
 +</​code>​
 +
  
gradle/jpa_metamodel_generation.1528792228.txt.gz · 마지막으로 수정됨: 2018/06/12 17:30 저자 kwon37xi