如何自动生成JPA元模型对象(1)—hibernate元模型生成器

五迷三道 提交于 2019-12-04 21:27:17

       Hibernate静态元模型生成器既可以通过命令行使用,也可以集成在IDE中使用。大多数情况下,如果使用了jdk6及以上的版本,并且注解处理器的jar已经被包含在classpath中,注解处理器会自动的运行,因为Hibernate静态元模型生成器的jar包的META-INF/services目录里已经包含了文件javax.annotation.processing.Processor。

1.通过命令行使用(maven)

在maven构建的过程中,有几种方式可以运行注解处理器。其一,就是上面提到的在classpath中引入它的jar包。如果在classpath中有多个注解处理器,可以在maven的编译插件中传入处理选项参数

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <compilerArguments>
            <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
        </compilerArguments>
    </configuration>
</plugin>
使用maven-compiler-plugin的方式的缺点是maven编译插件当前不允许指定多个编译参数。一个比较好的方式是在编译插件中禁用注解处理器,使用maven-processor-plugin。可以按照如下方式禁用 maven-compiler-plugin:
<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <compilerArgument>-proc:none</compilerArgument>
    </configuration>
</plugin>

按照上面处理之后,就可以在maven-processor-plugin中使用注解处理器。可以按照如下配置:


<plugin>
    <groupId>org.bsc.maven</groupId>
    <artifactId>maven-processor-plugin</artifactId>
    <version>2.0.5</version>
    <executions>
        <execution>
            <id>process</id>
            <goals>
                <goal>process</goal>
            </goals>
            <phase>generate-sources</phase>
            <configuration>
                <processors>                                
                    <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
                </processors>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jpamodelgen</artifactId>
            <version>4.3.5.Final</version>
        </dependency>
    </dependencies>
</plugin>

2.集成在IDE中使用(eclipse)


在Galileo版本之后,在eclipse的Java Compiler(右键点击项目->属性)里增加了一个名为Annotation Processing的选项,用于配置各种各样的注解处理。打开Annotation Processing的配置界面,勾选“Enable Annotation Processing”,配置代码生成的目录,然后,切换到下面的“Factory Path”配置界面,点击Add Jars,将JPA2.0和hibernate-jpamodelgen的jar包引入,点击Apply,即可:

————————————————————————————————————————————————————————————————

3.所需jar包下载地址:

hibernate-jpa-2.0-api-1.0.1.Final.jar

hibernate-jpamodelgen-4.3.5.Final.jar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!