Hibernate
Hibernate の jpamodelgen
の場合は単に以下のように依存を追加する
dependencies {
annotationProcessor("org.hibernate.orm:hibernate-jpamodelgen:6.6.7.Final")
}
Jakarta EE 11 から追加された Jakarta Data に対応したメタモデルプロセッサは Hibernate 7 となる
Jakarta Data の @Repository
の実装も、このメタモデルプロセッサで生成されるが、生成されたクラスは Hibernate に依存したものとなる(Jakarta EE の API で完結しない)。
そのため、Hibernate のメタモデルプロセッサで生成されたクラスを Eclipselink で使うといったことができなくなった(Jakarta Data の リポジトリを利用しない場合はその限りでない)。
Eclipselink
Eclipselink の場合は、-Aeclipselink.persistencexml
オプションで persistence.xml
を指定する必要がある。
dependencies { annotationProcessor("org.eclipse.persistence:org.eclipse.persistence.jpa.modelgen.processor:4.0.5") } tasks.withType<JavaCompile> { options.compilerArgs.add("-Aeclipselink.persistencexml=${project.projectDir.absolutePath}/src/main/resources/META-INF/persistence.xml") }