Skip to content

Instantly share code, notes, and snippets.

@jjangga0214
Last active August 5, 2023 06:01
Show Gist options
  • Select an option

  • Save jjangga0214/e8f8d46459657f42608400af47f057f2 to your computer and use it in GitHub Desktop.

Select an option

Save jjangga0214/e8f8d46459657f42608400af47f057f2 to your computer and use it in GitHub Desktop.
JPA Criteria API 사용에 Metamodel을 사용하기 위해, Entity 에서 자동으로 metamodel을 생성하는 generator를 설정한다. gradle 기준으로 설명한다. 

JPA MetaModel Generator 사용하기 : with gradle

JPA Criteria API 사용에 Metamodel을 사용하기 위해, Entity 에서 자동으로 Metamodel을 생성하는 generator를 설정한다. gradle 기준으로 설명한다. 

build.gradle

// 생략... gradle 문법에 의해 buildscript 바로 다음에 위치
plugins {
    id "at.comm_unity.gradle.plugins.jpamodelgen" version "1.1.4"
}
// 생략...
jpaModelgen {
	library = "org.hibernate:hibernate-jpamodelgen:5.2.16.Final"
	jpaModelgenSourcesDir = "src/main/java"
}
compileJava.options.compilerArgs += ["-proc:none"]
// 생략...
dependencies {
// 생략...
    provided group: 'org.hibernate', name: 'hibernate-jpamodelgen', version: '5.2.16.Final'
}

run

gradle plugin인 jpamodelgen 의 tasks 에서 compileJpaModelgen 을 실행하면 된다.

고려할 점

위 설정대로라면, jpaModelgenSourcesDir = "src/main/java" 이어서, Entity와 metamodel 이 같은 디렉토리로 묶이게 된다. 만일, 다른 곳으로 분리하고 싶다면, 추가설절이 필요할 것이다. 

참고

https://github.com/iboyko/gradle-plugins/tree/master/jpamodelgen-plugin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment