如何在 Scala 实体上运行 Hibernate 的 JPAMetaModelEntityProcessor Static Metamodel Generator



我能够在基于java的jpa实体上运行Hibernate的jpamodelgen,在我的pom.xml中有:

<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>

但是什么也没发生。

有人成功地生成JPA元模型从JPA实体写在Scala?

谢谢。

不要认为这是可能的,因为元模型生成器在javac中作为可插入的注释处理器(http://jcp.org/en/jsr/detail?id=269)运行,即在Java源代码上。

Javac,然而,不会理解你的scala源代码和scala(据我所知)不支持JSR 269接口。

相关内容

  • 没有找到相关文章

最新更新