剖析Hibernate Extensions
Hibernate还是比较常用的,于是我研究了一下Hibernate Extensions,在这里拿出来和大家分享一下,希望对大家有用。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
通过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完成了同样的任务,并且更加出色。