通过Hibernate项目中提供的几个命令行工具(他们也被当作项目的一部分不断得到维护),还有XDoclet,Middlegen和AndroMDA内置的对Hibernate的支持,可以在几个不同的环境(SQL,java代码,xml映射文件)中进行相互转换(roundtrip)。
Hibernate的主发行包中附带了最重要的工具(甚至在Hibernate内部也可以快速调用这个工具):
从映射文件到DDL schema的生成器(也就是SchemaExport和hbm2ddl)
Hibernate项目直接提供的其他工具在一个单独的发行包中发布,Hibernate Extensions。这个发行包包含了下列任务的工具:
从映射文件到Java源代码的生成器(也就是CodeGenerator,hbm2java)
从已编译的Java类或者带有XDoclet标记的Java源代码生成映射文件(它们是MapGenerator,class2hbm)
实际上Hibernate Extensions里面还有一个工具:ddl2hbm。但是它已经被废弃了,已经不再被维护了。Middlegen完成了同样的任务,并且更加出色。
对Hibernate提供支持的第三方工具有:
Middlegen (从现有的数据库schema中生成映射文件)
AndroMDA ( 使用MDA思想(Model-Driven Architecture ,模型驱动体系)的代码生成器,它从UML图和其XML/XMI等价形式中生成持久化类的代码)