我可以在我的pom.xml中运行基于java的JPA-entites上运行Hibernate的jpamodelgen:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>1.1.1.Final</version>
</dependency>
但是,对于用Scala编写的实体,这当然失败了。我试图使用maven-processor-plugin“手动”生成元模型,我的pom.xml看起来像这样:
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<processors>
<!-- list of processors to use -->
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
</processors>
<!-- source output directory -->
<outputDirectory>target/metamodel</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/metamodel</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
但没有任何反应。
是否已成功从使用Scala编写的JPA实体生成JPA元模型?
感谢。
答案 0 :(得分:1)
不要认为这是可能的,因为元模型生成器在javac中作为可插入注释处理器(http://jcp.org/en/jsr/detail?id=269)运行,即在Java源代码上运行。
但是,Javac不会理解你的scala源代码和scalac(据我所知)不能支持JSR 269接口。