Hibernate 代码生成工具 设计全攻略
Sybase 公司 PowerDesigner 上海研发中心 汪晟杰
1.简述
Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,提供 HQL 查询
语言,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。使用 Hibernate,必须为配置映
射文件—ClassMapping File 和 Configuration File,现在市场上提供了诸多 Hibernate 代码生成工具,比如:
XDoclet,以及 Hibernate 官方自带的 sechmaExport 工具。然而它们都有如下的缺点:仅提供一些基本的
输入模版,用户仍需要时间进行配置和修改;没有提供自动的持久类以及 InvokeBean 的代码生成;不支
持图形界面;不支持对 HibernateTestCase 的代码生成。
Hibernate 工具具备以下特点:
1. 根据 UML 生成的数据库模型,自动生成映射文件。
2. 根据 UML 产生 Hibernate 持久类。
3. Hibernate 模型检验。
4. 生成自动测试代码。
5. 与 Eclipse 集成
Hibernate 代码生成工具采用基于 PowerDeigner 的模型扩展功能来实现 Hibernate 的代码生成。
PowerDesigner(以下简称 PD)是一款一流的数据库建模工具(E-R 模型设计、物理模型设计),同时它对
UML、报表、XML、团队开发(知识库 Repository)都支持的相当好,所有模型都可以正向、逆向的相互转
换。PD 的模型是由它的元模型组成。简单的说,元模型就是组成模型的模型。基于这些元模型,PD 提
供了一套 GTL 开发语言,可以轻易地扩展出自己的代码模版和流程,也可以对现有的语言模型进行修改
以适应需求;PD 支持利用 VBScript 来扩展语言、改变 PD 模型、模型检测。对于 Eclipse,PD 也能做到
快速的集成并可以利用 JAVA 语言来修改 PD 模型。
注:GTL 可以说是一种面向对象的脚本语言,它可以在不同的元模型上加以扩展,增加诸如:添加生成文
件、原型、菜单、代码模版、扩展属性等等功能,如图 1 所示,将在后续部分详细的阐述。由于元模型是
面向对象的(比如所有的类、接口等的元模型都继承于 Classifier 元模型),即如果在 Classifier 中扩展了
一个功能,那么继承它的模型均拥有这样的功能和脚本,也可以覆盖重写这样的功能,以实现多态概念。
Extended Model Definition,在弹出的窗口的 Toolbar 上选择 Import Extended打开扩展模型编辑窗
口:选择 Model Model Definition(倒数第二个按钮)来加载已有的模型,也可以新建扩展模型(选择 Add
- 1
- 2
- 3
前往页