maven hibernate Plugin 主要有6种功能
∙hibernate3:hbm2cfgxml: Generates hibernate.cfg.xml
∙hibernate3:hbm2ddl: Generates database schema.
∙hibernate3: hbm2doc : Generates HTML documentation for database schema
∙hibernate3:hbm2hbmxml: Generates a set of hbm.xml files
∙hibernate3:hbm2java: Generates Java classes from set of *.hbm.xml files
∙hibernate3:hbmtemplate: Renders arbitrary templates against Hibernate Mapping information
这里主要介绍hibernate3:hbm2java这个功能如何使用它生成java实体类,使用这个插件的前置条件是首先配置好hibernate.cfg.xml这个文件,配置结果如下所示:
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
然后配置pom文件中的信息,如下所示:
对POM配置文件一些重要配置进行简单的说明:
>hibernate3-maven-plugin这个主要依赖mysql驱动(如果是mysql数据库类型,取决于连接的数据库)和cglib包(主要用于反向控制)
Jdbcconfiguration主要用于反向控制数据库引擎通过JDBC连接数据库,其他3种详情请参考hibernate tools参考说明书 from javax.persistence and org.hibernate.annotations,默认值是false 上述配置文件配置好后就可以运行,maven插件命令了,在命令行下面可以直接使用 hibernate3:hbm2java或者在elipse下面选择工程右键选择run as –》run configuration 在goals输入hibernate3:hbm2java,如图: 然后点击run,就会在配置好的outputDirectory目录下面生成相应的java类,生成的元注解类要依赖ejb3-persistence这个jar包 上面的操作是对连接的数据库进行整库的表进行java类生成,如果生成部分或者个别的表,用上述操作将会重新把所有生成的java类覆盖,所有要针对部分或者个别的表生成实体类,请在POM文件中增加反转控制配置文件,A reveng.xml 这个文件被使用来定制如何通过工具来反向控制数据库引擎,如下所示: 在componentProperties中增加revengfile标签并指明文件的路径 关于hibernate.reveng.xml的代码示例如下: SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" > match-schema=" COMMON_SCHEMA" 数据库拥有着 match-table="ACCOUNT" 表名 支持"CODES_开头的表名match-table="CODES_.*" 上述配置文件起到的作用就是在schema cityhome 中 只生成 ACCOUNT这个表的java实体类,其他的都被过滤了! Reveng.xml有很多种反向控制,这里只介绍了最简单的一种,如果不满足,可以参考hibernate tools 查询其他更详细的配置 Maven hibernate 插件可以根据数据库生成java实体类,hibernate数据库映射配置文件等,可以根据jpa实体类或者实体类+映射文件生成数据库ddl,等双向生成。 该插件其他强大的功能还需各位参考其他资料,这里只是简单的介绍了一下根据数据库表结构以及元数据生成jpa的java实体类