分享
 
 
 

在Eclipse中使用Hibernate一(组图)

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

介绍

最近我开始使用Eclipse作为我的开发环境,部分原因是因为在我进行开发的许多平台上都可以使用Eclipse来工作,还有部分原因是因为Eclipse是展示人人皆可作出贡献的开放、可扩展环境的优势的一个极好的例子。我开始研究其他人提供的对Eclipse的扩展。例如,当用到xml文件时,我使用XMLBuddy插件。该插件对于我的工作很有助益。因为最近一直在写Developer's Notebook,所以我很想知道是不是已经有人写了关于Hibernate的插件,事实上,有好几个这样的插件正在开发。在这篇文章中,我们将探索其中之一:Hibernate Synchronizer.

Hibernate Synchronizer

在我找的和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相关的功能。

好了,在这些抽象的描述之后,到了开始做实事的时候,当然,这正是你爱好所在,不然你就不会读这篇文章。怎么安装和使用呢?下边一一解释。

安装

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中所示。

图 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)按钮来完成增加书签。

图 2. Hibernate Synchronizer插件更新站点书签

单击完成(Finish)后,新建的书签就会出现在功能更新(Feature Updates) 视图中,如图3中所示.

图 3. Hibernate Synchronizer站点已经可以使用

为了实际安装该插件,单击该书签左边的三角形符号,然后再次单击在书签下边出现的条目左边的三角形符号,继续这个过程,一直到书签下边出现的条目中出现该插件的图标。单击该条目,就会出现一个可以让你安装的界面,如图4所示。

图 4. 预备开始安装插件

单击Install Now,让Eclipse引导你完成安装(如图5-10).

图 5. 安装Hibernate Synchronizer

图 6. 许可协议

你可以看看下边Trade-Offs部分对许可协议的一些讨论。当你打算在实际的项目中使用该插件时,想必你会仔细研究该协议。我认为也许好一点,不过该插件基于GPL协议,而不是开放源代码,令人迷惑。

7. 选择安装位置,缺省的已经很好了

图 8. 安装没有签名插件时的标准警告

图 9 正在进行安装

图 10. 完成安装

现在已经完成安装,你需要退出,然后重新启动Eclipse以使所做的更改生效。看上边的对话框似乎说能够自动重新启动Eclipse。,以我的经验,Eclipse只会退出,还是需要你自己手工重新启动。这可能是Max OS X平台上Eclipse 2.1的一个局限。Eclipse 3已经许诺把对OS X的支持列入第一级别。无论如何,这只是个小问题。假如你需要重新启动Eclipse,现在就可以这样做。安装完之后,接着需要对其对其进行配置,以便在项目中使用。

配置

重新启动Eclipse后,关闭安装/更新透视图。打开一个使用Hibernate的Java工程.假如你已经完成了Developer's Notebook,一书中的例子,那么就有几个目录可供你选择,这里以书中第三章中的例子来说明。第三章是可以在线免费获得的样章,你还可以从该书的站点下载所有例子的源代码。

假如你打算使用其中的一个例子来新建一个Eclipse工程,选择文件(File) -新建( New )- 工程(PRoject),选定工程类型,然后单击下一步(Next),填入该工程名(我填的是"Hibernate Ch3",如图11所示),不要复选使用缺省检查框(Use default),这样你可以告诉Eclipse从哪里找到已经存在的工程目录,单击浏览按钮(Browse)来定位目录。选定工程目录后可以单击完成(Finish)来创建工程。不过,一般情况下我喜欢单击下一步(Next)来复查Eclipse为此工程所作的设置(当然,假如发现有些配置不对,总是可以选择回退来修改这些设置。不过,我总是发现,假如有一个库文件丢失或是其它一些原因,会有非常多的错误和警告信息)。

图 11. 创建一个需要使用Hibernate的新工程

在当前情况下,我的谨慎有点多余。Eclipse准确的算出了目录是如何组织以及是用来干什么的,找到我为使用Hibernate和 HSQLDB 数据库而下载的第三方库(下载和安装的具体过程可以参看书中第一章)。如此聪明的适应能力是Eclipse优点之一。图12显示新工程已经打开,预备好可以用来做实验。从这个图中也可以推断Eclipse不喜欢调整窗口大小使其小到形成合适的屏幕布局。从现在开始,显示的屏幕截图只显示窗口的一部分,而不是完整的窗口。

图 12. 使用Chapter 3例子的工程

下一个需要做的工作是创建一个Hibernate配置文件,提供给Hibernate Synchronizer使用。在src目录中已经有了一个hibernate.properties文件,这是书中例子使用的配置。这里有个问题,坏消息是Hibernate Synchronizer只能使用XML样式的Hibernate配置文件。这样,就需要把hibernate.properties中的内容移植到XML样式的配置文件hibernate.cfg.xml中。好消息是,这正是Hibernate Synchronizer创建配置文件向导第一次大显身手的时候。选择文件(File) -新建(New) - 其它(Other),然后在弹出对话框选取刚可用的Hibernate类,选取 Hibernate Configuration File,然后单击下一步(Next).

图13 打开Hibernate配置文件向导

打开向导时,保存文件的位置和在Eclipse中现在选择的文

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有