使用Maven实现JPA逆向工程

本文JPA逆向工程(reverse engineering)并不依赖于IDE相关插件的图形化操作,而是直接构建使用hibernate-tools的Maven项目去实现。

hibernate-tools项目主页 https://github.com/hibernate/hibernate-tools

下面是一个简单的例子,假设数据库使用MySQL。
过程如下:
0、新建一个Maven项目
1、在src/main/resources目录下新建一个hibernate.properties文件,加入下面内容:

hibernate.dialect org.hibernate.dialect.MySQL57Dialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.username root
hibernate.connection.password root
hibernate.connection.url jdbc:mysql:///sakila?useSSL=true
hibernate.default_catalog sakila

2、在pom.xml文件内添加如下代码:


<build>
    <plugins>
        <plugin>
            <artifactId>maven-antrun-pluginartifactId>
            <version>1.8version>
            <executions>
                <execution>
                    <id>hbm2javaid>
                    <configuration>
                        <target>
                            <taskdef name="hibernatetool"
                                     classname="org.hibernate.tool.ant.HibernateToolTask"/>
                            <hibernatetool>
                                <jdbcconfiguration packagename="entity"
                                                   propertyfile="src/main/resources/hibernate.properties"/>
                                <hbm2java destdir="src/main/java" jdk5="true" ejb3="true"/>
                            hibernatetool>
                        target>
                    configuration>
                    <goals>
                        <goal>rungoal>
                    goals>
                execution>
            executions>

            <dependencies>
                <dependency>
                    <groupId>org.hibernategroupId>
                    <artifactId>hibernate-toolsartifactId>
                    <version>RELEASEversion>
                    <exclusions>
                        <exclusion>
                            <groupId>org.eclipse.jdtgroupId>
                            <artifactId>org.eclipse.jdt.coreartifactId>
                        exclusion>
                    exclusions>
                dependency>
                <dependency>
                    <groupId>mysqlgroupId>
                    <artifactId>mysql-connector-javaartifactId>
                    <version>[5.1.45,6)version>
                dependency>
            dependencies>
        plugin>
    plugins>
build>

3、使用如下命令运行Maven项目:

mvn antrun:run@hbm2java

4、完成
在src/main/java目录下可看到生成的实体类。

补充:
pom.xml中jdbcconfiguration标签可以配置更多的属性,
例如 revengfile=”src/main/resources/hibernate.reveng.xml”,
可以参考 JDBCConfigurationTask.java ,
hibernate.reveng.xml的配置可以参考文档。

你可能感兴趣的:(玩玩)