|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
Hibernate是一个开放源代码的O/R Mapping (对象关系映射框架),它对JDBC进行了轻量级的对象封装,使Java程序员可以使用对象编程思维来操纵数据库。 Hibernate Synchronizer是一个Eclipse插件,可以自动生成*.hbm文件、持久化类和DAOs。了解Hibernate Synchronizer插件的具体信息可以访问:http://www.binamics.com/hibernatesync/ 。 一、Hibernate Synchronizer的功能包括: l 通过一个向导配置并生成Hibernate Configuration File; l 通过一个向导同步生成数据库表的*.hbm文件; l 通过*.hbm文件同步生成Hibernate持久化类和DAOs; l 提供Hibernate Synchronizer editor编辑*.hbm文件; l 用一种叫做Velocity的语言定制个性化的代码和资源生成模板(通常没有必要); 二、使用Hibernate Synchronizer插件的步骤: 1、 通过Eclipse的软件更新功能安装插件(Eclipse 3.X的插件更新网址:: http://www.binamics.com/hibernatesync); 2、 配置插件的属性。可以分别在工作台级别和项目级别配置。通常使用默认值。可配置的项目包括: l 修改并保存hbm时是否自动更新值对象(value object); l 是否自动生成DAOs或值对象(value object); l 配置生成DAOs和值对象(value object)时的包名。 3、 通过插件生成Hibernate Configuration File; 4、 通过插件生成*.hbm (Hibernate Mapping File)文件; 5、 必要时用插件提供的Editor编辑*.hbm文件; 6、 通过插件把重新配置Hibernate Configuration File的mapping resource; 7、 通过*.hbm同步生成DAOs和值对象(value object); 三、浅析Hibernate Synchronizer插件生成的代码。 在这个例子中,使用Hibernate Synchronizer插件同步了数据库中的两个表:T_Order和T_User。T_User和T_Order是一对多的关系。 在默认设置的情况下,插件生成的包图如下: base包中存放插件生成的五个抽象类,在Hibernate Synchronizer“再同步”时会覆盖base包中的类,因此用户不要把客户代码放在base中的类里。换句话说,任何时候不要修改这些类。 dao包中存放的三个类,分别继续自base包中相应的三个类。dao包中的三个类完全是空的实现,客户可以在这里插入自己的代码。采用这样的结构,就把客户代码从插件生成的代码中分离出来,即实现了客户对插件生成代码的定制,又不会在插件“再同步”时影响到客户代码。 在默认设置的情况下,插件生成的类图如下: 左边的六个类是DAOs,右边的四个类是持久类。 所有的DAOs继续自_BaseRootDAO,这个抽象类封装了公共的Hibernate操作方式。抽象类_RootDAO直接继续自_BaseRootDAO,客户可以在这里对_BaseRootDAO进行定制,把公共级别的Hibernate操作放在这里。_BaseRootDAO下级的Base…DAO是持久类的DAO,它仍旧是抽象类,目的是让它的子类实现定制的方式。 所有的值对象(value object)都分为两个层次,抽象的基类(如BaseTOrder、BaseTUser)和实现类(TOrder、TUser)。抽象层次包含Hibernate Synchronizer插件生成的持久类,实现层次可以包含客户的定制代码。 四、使用Hibernate Synchronizer插件生成的代码。 在自己的代码中使用Hibernate Synchronizer生成的代码异常简朴。 _RootDAO.initialize(); TUserDAO dao = new UserDAO(); TUser user = dao.load("zhangyu"); user.setMail("e-zhangyu@vip.sina.com"); dao.update(user); _RootDAO.initialize()是必须的。Hibernate Synchronizer生成的持久对象是标准的Hibernate持久对象,包含一组set和get方式。DAOs负责操作持久对象,包括对session和事务治理、load和释放对象、save或update、查询等功能。有了DAOs,客户代码十分简洁。 作者简介: 张昱,可以通过e-zhangyu@vip.sina.com 与作者取得联系。 返回类别: 教程 上一教程: 关于JAVA import 的一个小问题 下一教程: 让我感觉很爽的CachedRowSet 您可以阅读与"用Eclipse Hibernate Synchronizer插件开发Hibernate应用"相关的教程: · 用Eclipse 和 Lomboz插件开发基于 Weblogic 的 EJB · 利用Eclipse开发Hibernate应用程序 · 用eclipse+Hibernate Synchronizer(plugin)开发例子(原创) · Eclipse迅速上手Hibernate--2. 利用Hbm映射文件开发 · eclipse 下用cdt插件开发c c++程序 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |