最近,我开始使用Eclipse作为我的开发环境。这部分是由于它支持我开发时所使用的许多平台,部分是由于Eclipse是开放的可扩展环境的杰出代表,大家都可以为它的发展贡献自己的力量。我正开始调查人们已经提出的一些扩展。例如,我使用了一个叫做XMLBuddy的小插件来处理XML文件,它很有用。所以,我开始好奇是否有人已经编写了使用Hibernate的插件,最近在编写Developer's Notebook一书时,我做了大量这方面的工作。结果我了解到,这方面确实有一些工作正在进行,本文将探讨其中之一——Hibernate Synchronizer。
Hibernate Synchronizer
迄今为止,在我找到的插件中,Hibernate Synchronizer最令我感兴趣,因为看起来它对以映射为中心的工作流提供了最好的支持,而我的Developer's Notebook一书中就采用了这种工作流。(Hibernate可以用于多种用途,所以请查看可用的其他插件,如果您的环境需要其他方法,这些插件将更有帮助。)事实上,Hibernate Synchronizer插件让您在修改映射文档时,无需考虑更新Java代码,它会在您进行编辑的时候以一种非常类似于Eclipse的方式自动更新Java代码。通过为每个被映射的对象创建一对类,它比Hibernate的内置代码生成工具更为先进。它“拥有”一个基类,当您修改映射时,它可以随意重写这个基类。它还提供一个扩展了这个基类的子类,可以在这个子类中加入业务逻辑和其他代码,而无需担心它会在您眼皮底下消失。
因为要适用于以Hibernate映射文档为中心的方法,Hibernate Synchronizer还包括一个用于Eclipse的新编辑器组件,为此类文档提供智能辅助和代码自动完成功能。优秀的DTD驱动的XML编辑器(比如前面提到过的XMLBuddy)可以实现其中的一些功能,但是Hibernate Synchronizer利用对文档语义的理解做得更好。它还提供了一个映射中的属性和关系的图形化视图、创建新元素的“向导”界面,以及其他类似的优点。而且如前所述,在其默认配置中,编辑器会在用户编辑映射文档时自动重新生成数据访问类。
Hibernate Synchronizer还有其他的功能。它在Eclipse的New菜单中加入了一个区域,为创建Hibernate配置和映射文件提供向导,并在包的资源管理器和其他适当的位置中添加了上下文菜单项,使用户可以轻松访问相关的Hibernate操作。
好了,现在已经有了足够多的抽象描述,是时候开始实践了!毕竟,您很可能对此产生了兴趣,要不您就不会阅读本文。那么,如何安装与使用Hibernate Synchronizer呢?
安装可以使用Eclipse的内置Update Manager安装Hibernate Synchronizer。该插件为Eclipse 2.1和即将发布的Eclipse 3的用户提供独立的更新站点。因为我把Eclipse用于任务关键型的工作,所以我使用的仍然是生产版本,即2.1。在我撰写本文时,Eclipse 3已经进入了“发布候选(release candidate)”阶段。今年夏末,当我从JavaOne会议回来的时候,我非常希望能够升级到生产版本3。(我提及这一点的主要原因是强调下面的指导是基于Eclipse 2而编写的;在Eclipse 3中,某些命令和界面无疑会有所不同,所以如果您准备使用它,确保在遵照这些步骤的同时还要加入自己的判断!我的印象是Hibernate Synchronizer自己的 安装指导 是针对Eclipse 3编写的,也许这对您会有所帮助。)
启动Eclipse,选择Help -> Software Updates -> Update Manager,便可以打开Update Manager。Install/Update透视图打开之后,在Feature Updates视图中右击(或者控件单击(control-click),如果您使用的是单按钮鼠标),选择New -> Site Bookmark,如图1所示。
图1. 向Update Manager添加Hibernate Synchronizer插件站点
在出现的对话框中,输入所需插件版本的URL。输入的URL取决于您的Eclipse版本:
- Eclipse 2.1: http://www.binamics.com/hibernatesync/eclipse2.1
- Eclipse 3: http://www.binamics.com/hibernatesync
还需为新的书签指定一个名称,“Hibernate Synchronizer”就很好。图2显示的对话框包括了我的Eclipse 2.1.2环境中的所有必需信息。
图2. Hibernate Synchronizer插件更新站点的书签
单击Finish之后,新的书签将出现在Feature Updates视图中,如图3所示。
图3. Hibernate Synchronizer站点现在可用了
为了实际安装插件,单击书签左侧的三角形展开符号,然后单击其中的下一个三角形展开符号,重复这个过程,直到出现插件的图标为止。单击该图标,Preview视图就会更新,从而显示一个允许安装插件的界面,如图4所示。
图4. 准备安装插件
单击Install Now,实际安装插件,让Eclipse引领您完成整个过程(图5-10)。
图5.安装Hibernate Synchronizer
图6. 插件许可证协议
可参见下面的权衡部分,其中有关于许可证协议的一些讨论。在决定在自己的