[b]介绍[/b]
最近我开始使用Eclipse作为我的开发环境,部分原因是因为在我进行开发的许多平台上都可以使用Eclipse来工作,还有部分原因是因为Eclipse是展示人人皆可作出贡献的开放、可扩展环境的优势的一个极好的例子。我开始研究其他人提供的对Eclipse的扩展。例如,当用到xml文件时,我使用XMLBuddy插件。该插件对于我的工作很有助益。因为最近一直在写 Developer's Notebook,所以我很想知道是不是已经有人写了关于Hibernate的插件,事实上,有好几个这样的插件正在开发。在这篇文章中,我们将探索其中之一:Hibernate Synchronizer.
[b]Hibernate Synchronizer[/b]
在我找的和Hibernate有关的插件中,Hibernate Synchronizer最令我感兴趣,因为它为我在Developer's Notebook书中采用的以映射为中心的工作流(mapping-centric workflow)提供了最好的支持。(可以用多种方法使用Hibernate,你可能会试试其它一些插件,它们提供的方法可能正是你自己特定环境所要求的)。事实上,当使用Hibernate Synchronizer时,如果你改变了映射文件,你不需要为更新相应的java文件而劳心费神。当你编辑映射文件时,和Eclipse采取的方法类似,该插件自动更新你的java代码。还不止于此,还提供了比Hibernate内建的代码生成工具更多的功能:它为每个映射对象创建一对类( a pair of classes),其中一个是基础类,当你改变映射内容时,它可以随意重写这个类;另一个类作为该基础类的子类,在子类中,你可以添加具体的商业逻辑和另一些代码。使用这个插件生成java代码时,不用象使用Hibernate内置的代码生成工具那样,担心其它代码(如商业逻辑的代码)会在你的眼皮底下消失。
对于以Hibernate影射文档为基础的方法,还有一些其它的好处,Hibernate Synchronizer有一个新编辑器,当编辑这类文件时,为Eclipse添加了智能辅助和自动完成功能。一个比较好的、以DTD驱动的XML编辑器,如以前提及的XMLBuddy,也可以完成部分功能。与此相比,Hibernate Synchronizer利用对影射文档语义的了解,提供了更进一步的功能。例如,提供了对属性和影射关系的可视化显示,创建新元素的向导界面,象以上提及的一样,缺省设置情况下,当你编辑影射文档时,编辑器会自动生成数据访问类(data-access class).
当然还有其它一些功能,在Eclipse的新建(New)菜单中,提供了一个向导,可以用来创建Hibernate配置文件和映射文件,在包资源浏览器 (package explorer)和其它一些合适的地方增加了上下文菜单,方便调用和Hibernate相关的功能。
好了,在这些抽象的描述之后,到了开始做实事的时候,当然,这正是你兴趣所在,不然你就不会读这篇文章。怎么安装和使用呢?下边一一解释。
[b]安装[/b]
Hibernate Synchronizer可以用Eclipse内置的更新管理器(Update Manager)来安装。对Eclipse 2.1和即将发布的Eclipse 3的用户提供了不同的更新站点。(因为用Eclipse作关键性的工作,我仍使用作为产品发行的2.1版。当我写这篇文章的时候,Eclipse 3已经进入了“候选发布”阶段。我希望当我今夏晚些时候从JavaOne回来时,我可以更新到版本3的产品发行版。提及这个的主要原因是因为我想强调一下,这些指南是以Eclipse 2的角度的来讲解,毫无疑问,一些命令和窗口会在版本3中发生变化,因此,当你使用Eclipse 3时,你应当做一些相应的调整。我印象中Hibernate Synchronizer自己的install instructions是针对Eclipse 3,也许这对你有所帮助。
启动Eclipse,顺次单击帮助(Help) ->软件更新(Software Updates) -> 更新管理器(Update Manager)来打开更新管理器,当安装/更新(Install/Update)透视图打开之后,在功能更新视图(Feature Updates)中用右键单击(如果你用的单键,你需要control-click)。选择新建(New) -> 站点书签(Site Bookmark),如图1中所示。
[img]http://dl.iteye.com/upload/attachment/146508/785b305a-5411-3fc8-a69a-6a1e67ea9232.jpg[/img]
图 1 在更新管理器中添加Hibernate Synchronizer插件的更新地址
在弹出对话框中,输入适合你的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中填完所有需要的信息后的对话框。填完之后,你可单击完成(Finish)按钮来完成增加书签。
[img]http://dl.iteye.com/upload/attachment/146510/1968fce4-44d2-35af-b123-670709052880.jpg[/img]
图 2. Hibernate Synchronizer插件更新站点书签
单击完成(Finish)后,新建的书签就会出现在功能更新(Feature Updates) 视图中,如图3中所示.
[img]http://dl.iteye.com/upload/attachment/146512/0729585b-dd40-32a3-83a9-5ae4f696b793.jpg[/img]
图 3. Hibernate Synchronizer站点已经可以使用
为了实际安装该插件,单击该书签左边的三角形符号,然后再次单击在书签下边出现的条目左边的三角形符号,继续这个过程,一直到书签下边出现的条目中出现该插件的图标。单击该条目,就会出现一个可以让你安装的界面,如图4所示。
[img]http://dl.iteye.com/upload/attachment/146514/27926956-f77f-3a7c-99d1-1baddee9e68f.jpg[/img]
图 4. 准备开始安装插件
单击Install Now,让Eclipse引导你完成安装(如图5-10).
[img]http://dl.iteye.com/upload/attachment/146516/1d4dd1ff-baa5-37f9-add0-f71c09c77e99.jpg[/img]
图 5. 安装Hibernate Synchronizer
[img]http://dl.iteye.com/upload/attachment/146520/f5cc1d14-fb1c-355c-aa9f-98f754764678.jpg[/img]
图 6. 许可协议
你可以看看下边Trade-Offs部分对许可协议的一些讨论。当你打算在实际的项目中使用该插件时,想必你会仔细研究该协议。我认为也许好一点,不过该插件基于GPL协议,而不是开放源代码,令人迷惑。
[img]http://dl.iteye.com/upload/attachment/146522/ea09c775-2394-307c-9329-a0ac3f07a137.jpg[/img]
图 7. 选择安装位置,缺省的已经很好了
[img]http://dl.iteye.com/upload/attachment/146524/a685c460-34ea-382f-b0ef-ccde17108aba.jpg[/img]
图 8. 安装没有签名插件时的标准警告
[img]http://dl.iteye.com/upload/attachment/146526/e9760269-fc9b-3d5f-a94f-eaea32d0d355.jpg[/img]
图 9 正在进行安装
[img]http://dl.iteye.com/upload/attachment/146528/45642ca4-c31f-34a0-aa52-a24cf05d3600.jpg[/img]
图 10. 完成安装
现在已经完成安装,你需要退出,然后重新启动Eclipse以使所做的更改生效。看上边的对话框好像说能够自动重新启动Eclipse。,以我的经验,Eclipse只会退出,还是需要你自己手工重新启动。这可能是Max OS X平台上Eclipse 2.1的一个局限。Eclipse 3已经许诺把对OS X的支持列入第一级别。无论如何,这只是个小问题。如果你需要重新启动Eclipse,现在就可以这样做。安装完之后,接着需要对其对其进行配置,以便在项目中使用。
最近我开始使用Eclipse作为我的开发环境,部分原因是因为在我进行开发的许多平台上都可以使用Eclipse来工作,还有部分原因是因为Eclipse是展示人人皆可作出贡献的开放、可扩展环境的优势的一个极好的例子。我开始研究其他人提供的对Eclipse的扩展。例如,当用到xml文件时,我使用XMLBuddy插件。该插件对于我的工作很有助益。因为最近一直在写 Developer's Notebook,所以我很想知道是不是已经有人写了关于Hibernate的插件,事实上,有好几个这样的插件正在开发。在这篇文章中,我们将探索其中之一:Hibernate Synchronizer.
[b]Hibernate Synchronizer[/b]
在我找的和Hibernate有关的插件中,Hibernate Synchronizer最令我感兴趣,因为它为我在Developer's Notebook书中采用的以映射为中心的工作流(mapping-centric workflow)提供了最好的支持。(可以用多种方法使用Hibernate,你可能会试试其它一些插件,它们提供的方法可能正是你自己特定环境所要求的)。事实上,当使用Hibernate Synchronizer时,如果你改变了映射文件,你不需要为更新相应的java文件而劳心费神。当你编辑映射文件时,和Eclipse采取的方法类似,该插件自动更新你的java代码。还不止于此,还提供了比Hibernate内建的代码生成工具更多的功能:它为每个映射对象创建一对类( a pair of classes),其中一个是基础类,当你改变映射内容时,它可以随意重写这个类;另一个类作为该基础类的子类,在子类中,你可以添加具体的商业逻辑和另一些代码。使用这个插件生成java代码时,不用象使用Hibernate内置的代码生成工具那样,担心其它代码(如商业逻辑的代码)会在你的眼皮底下消失。
对于以Hibernate影射文档为基础的方法,还有一些其它的好处,Hibernate Synchronizer有一个新编辑器,当编辑这类文件时,为Eclipse添加了智能辅助和自动完成功能。一个比较好的、以DTD驱动的XML编辑器,如以前提及的XMLBuddy,也可以完成部分功能。与此相比,Hibernate Synchronizer利用对影射文档语义的了解,提供了更进一步的功能。例如,提供了对属性和影射关系的可视化显示,创建新元素的向导界面,象以上提及的一样,缺省设置情况下,当你编辑影射文档时,编辑器会自动生成数据访问类(data-access class).
当然还有其它一些功能,在Eclipse的新建(New)菜单中,提供了一个向导,可以用来创建Hibernate配置文件和映射文件,在包资源浏览器 (package explorer)和其它一些合适的地方增加了上下文菜单,方便调用和Hibernate相关的功能。
好了,在这些抽象的描述之后,到了开始做实事的时候,当然,这正是你兴趣所在,不然你就不会读这篇文章。怎么安装和使用呢?下边一一解释。
[b]安装[/b]
Hibernate Synchronizer可以用Eclipse内置的更新管理器(Update Manager)来安装。对Eclipse 2.1和即将发布的Eclipse 3的用户提供了不同的更新站点。(因为用Eclipse作关键性的工作,我仍使用作为产品发行的2.1版。当我写这篇文章的时候,Eclipse 3已经进入了“候选发布”阶段。我希望当我今夏晚些时候从JavaOne回来时,我可以更新到版本3的产品发行版。提及这个的主要原因是因为我想强调一下,这些指南是以Eclipse 2的角度的来讲解,毫无疑问,一些命令和窗口会在版本3中发生变化,因此,当你使用Eclipse 3时,你应当做一些相应的调整。我印象中Hibernate Synchronizer自己的install instructions是针对Eclipse 3,也许这对你有所帮助。
启动Eclipse,顺次单击帮助(Help) ->软件更新(Software Updates) -> 更新管理器(Update Manager)来打开更新管理器,当安装/更新(Install/Update)透视图打开之后,在功能更新视图(Feature Updates)中用右键单击(如果你用的单键,你需要control-click)。选择新建(New) -> 站点书签(Site Bookmark),如图1中所示。
[img]http://dl.iteye.com/upload/attachment/146508/785b305a-5411-3fc8-a69a-6a1e67ea9232.jpg[/img]
图 1 在更新管理器中添加Hibernate Synchronizer插件的更新地址
在弹出对话框中,输入适合你的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中填完所有需要的信息后的对话框。填完之后,你可单击完成(Finish)按钮来完成增加书签。
[img]http://dl.iteye.com/upload/attachment/146510/1968fce4-44d2-35af-b123-670709052880.jpg[/img]
图 2. Hibernate Synchronizer插件更新站点书签
单击完成(Finish)后,新建的书签就会出现在功能更新(Feature Updates) 视图中,如图3中所示.
[img]http://dl.iteye.com/upload/attachment/146512/0729585b-dd40-32a3-83a9-5ae4f696b793.jpg[/img]
图 3. Hibernate Synchronizer站点已经可以使用
为了实际安装该插件,单击该书签左边的三角形符号,然后再次单击在书签下边出现的条目左边的三角形符号,继续这个过程,一直到书签下边出现的条目中出现该插件的图标。单击该条目,就会出现一个可以让你安装的界面,如图4所示。
[img]http://dl.iteye.com/upload/attachment/146514/27926956-f77f-3a7c-99d1-1baddee9e68f.jpg[/img]
图 4. 准备开始安装插件
单击Install Now,让Eclipse引导你完成安装(如图5-10).
[img]http://dl.iteye.com/upload/attachment/146516/1d4dd1ff-baa5-37f9-add0-f71c09c77e99.jpg[/img]
图 5. 安装Hibernate Synchronizer
[img]http://dl.iteye.com/upload/attachment/146520/f5cc1d14-fb1c-355c-aa9f-98f754764678.jpg[/img]
图 6. 许可协议
你可以看看下边Trade-Offs部分对许可协议的一些讨论。当你打算在实际的项目中使用该插件时,想必你会仔细研究该协议。我认为也许好一点,不过该插件基于GPL协议,而不是开放源代码,令人迷惑。
[img]http://dl.iteye.com/upload/attachment/146522/ea09c775-2394-307c-9329-a0ac3f07a137.jpg[/img]
图 7. 选择安装位置,缺省的已经很好了
[img]http://dl.iteye.com/upload/attachment/146524/a685c460-34ea-382f-b0ef-ccde17108aba.jpg[/img]
图 8. 安装没有签名插件时的标准警告
[img]http://dl.iteye.com/upload/attachment/146526/e9760269-fc9b-3d5f-a94f-eaea32d0d355.jpg[/img]
图 9 正在进行安装
[img]http://dl.iteye.com/upload/attachment/146528/45642ca4-c31f-34a0-aa52-a24cf05d3600.jpg[/img]
图 10. 完成安装
现在已经完成安装,你需要退出,然后重新启动Eclipse以使所做的更改生效。看上边的对话框好像说能够自动重新启动Eclipse。,以我的经验,Eclipse只会退出,还是需要你自己手工重新启动。这可能是Max OS X平台上Eclipse 2.1的一个局限。Eclipse 3已经许诺把对OS X的支持列入第一级别。无论如何,这只是个小问题。如果你需要重新启动Eclipse,现在就可以这样做。安装完之后,接着需要对其对其进行配置,以便在项目中使用。