在Maven项目中生成Hibernate JPA模型类

时间:2016-06-08 23:26:24

标签: eclipse hibernate maven jpa

在我的pom.xml中,我添加了这个依赖项:

<dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-jpamodelgen</artifactId>
                        <scope>provided</scope>
                </dependency>
                <!-- Annotation processor that raising compilation errors whenever constraint
                annotations are incorrectly used. -->
                <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-validator-annotation-processor</artifactId>
                        <scope>provided</scope>
                </dependency>

当我通过执行&#34; mvn clean install&#34;编译和安装项目时在终端,模型类在此目录中生成:

target/generated-sources/annotations/com/myproject/ne/model/

然后,如果我从Eclipse导入这个Maven项目,它可以正常运行而不会抱怨自动生成的模型类。

但是,如果我不执行&#34; mvn clean install&#34;在终端生成模型类并直接导入clean项目,Eclipse不会生成模型类,因此会生成编译错误。

在导入和编译干净的maven项目时,需要使用hibernate-jpamodelgen自动执行什么操作?

2 个答案:

答案 0 :(得分:0)

您可以通过注释处理启用它来实现它。

在eclipse中右键单击项目 - &gt;属性 - &gt; Java编译器 - &gt;注释处理 - &gt;工厂路径启用它。 现在使用以下内容填充项目根目录下的.factorypath文件:

<factorypath>
    <factorypathentry kind="PLUGIN" id="org.eclipse.jst.ws.annotations.core" enabled="true" runInBatchMode="false"/>
    <factorypathentry kind="VARJAR" id="M2_REPO/org/hibernate/hibernate-jpamodelgen/1.0.0.Final/hibernate-jpamodelgen-1.0.0.Final.jar" enabled="true" runInBatchMode="false"/>
    <factorypathentry kind="VARJAR" id="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.0.Final/hibernate-jpa-2.0-api-1.0.0.Final.jar" enabled="true" runInBatchMode="false"/>
</factorypath>

在Eclipse中刷新项目

答案 1 :(得分:0)

关注@Tanvi B回答,还有1个步骤: 项目 - &gt;属性 - &gt; Java编译器 - &gt;注释处理: 启用项目特定设置(全部选中)。在生成的源目录,您必须定义"exclude": [ "node_modules", "**/*.spec.tsx", // ... etc