最近,我开始使用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. 插件许可证协议
可参见下面的权衡部分,其中有关于许可证协议的一些讨论。在决定在自己的项目中使用Hibernate Synchronizer之前,您可能想仔细阅读一下它。我认为这是很好的做法,但是令人困惑的是,它基于GPL,实际上并非是开源的。
图7. 选择安装插件的位置,使用默认的就可以
图8.对没有签名的插件发出的标准警告
图9.正在安装
图10.安装完毕
现在插件已经安装完毕,需要退出并重新运行Eclipse,以便使其生效。出现的对话框似乎暗示Eclipse将自动重启,但是根据我的经验,单击 Yes只会退出环境,必须手动重启。这可能是Eclipse 2.1的Mac OS X实现的一个局限性;Eclipse 3将成为首个承诺对OS X提供一流支持的版本。不管怎么说,这是一个小问题。如果需要重启Eclipse,现在就重启吧,因为应该开始配置插件了!
配置
Eclipse重新启动之后,可以关闭Install/Update透视图。打开一个使用Hibernate的Java项目。如果您读过
Developer's Notebook一书中的例子,那么有几个目录可供选择。我将选用第3章中的例子,因为这一章是可以
在线阅读的样章。您还可以从该书的站点
下载所有例子的源代码。
如果您准备创建一个新的Eclipse项目,以便使用示例源代码目录中的一 个,只需选择File -> New -> Project。选择创建一个Java项目,然后单击Next,为其命名(我使用的是“Hibernate Ch3”,如图11所示),取消对Use default复选框的选择,以便可以告诉Eclipse现有项目目录的位置,然后单击Browse按钮,定位它在驱动器上的具体位置。现在可以单击 Finish,创建该项目,但是我一般喜欢单击Next,然后再次检查Eclipse的选择。(当然,如果有什么出错,您始终可以返回并修改项目属性,但 是我发现,如果存在库丢失之类的错误,马上就会面对大量的错误和警告,这实在是一件麻烦的事情。)
图11. 创建一个使用Hibernate的新项目
此处我的警告是多余的。Eclipse清楚目录的架构及用法,还找出了我曾下载和安装过的所有第三方库,以便让Hibernate和HSQLDB数据库引擎能够运行。(该过程的详细情况可以参见Developer's Notebook一书的第1章。)这种智能适应性是Eclipse的重要特性之一。图12显示我们的新项目已经打开并准备好用于实验了。它还显示,Eclipse不喜欢把窗口缩到足够小以适应适当的屏幕快照。从现在起,我只能捕捉窗口的一部分。
图12. 第3章中的示例项目
接下来要创建一个Hibernate Synchronizer可以使用的Hibernate配置文件。src目 录中已经存在一个hibernate.properties文件,它说明了书中例子的配置,但是Hibernate Synchronizer只能使用Hibernate的基于XML的配置方法。所以,我们需要把hibernate.properties文件的内容复制 到一个新的hibernate.cfg.xml文件中去。从好的方面来说,这使我们可以见识Hibernate Synchronizer的一项特性,即配置文件向导。选择File -> New -> Other,单击新可用的Hibernate类别,选中Hibernate Configuration File,然后单击Next。
图13. 启动Hibernate Configuration File向导
当向导启动后,它所提供的用于放置文件的目录取决于当前在Eclipse中选中的文件。出于一致性方面的考虑,一定要把它和properties版本一起放在顶级的src目录中。填入向导所需的其余信息,匹配配置的properties版本,如图14所示。注意,与使用Ant控制Hibernate的执行(这是Developer's Notebook一 书中所使用的方法)不同,当调用Hibernate时,我们无法控制当前的工作目录,所以需要在URL中使用一条到数据库文件的完全限定路径。我使用的值 是(有点难看):jdbc:hsqldb: /Users/jim/Documents/Work/OReilly/Hibernate/Examples/ch03/data/music。(如果 有人能告诉我如何让Eclipse或Hibernate Synchironizer对一个项目使用特定的工作目录,我肯定会很感兴趣。我在Eclipse方面还是一个新手,所以如果知道这种情况是可能的,只是 我不知道如何去做,我肯定不会感到吃惊。)
图14. 填写配置文件的详细信息
填写Driver Class时有一点奇怪:需要单击Browse按钮,并开始输入驱动程序的类名。如果输入“jdbcD”,窗口将只会给出两个选择,很容易就可以找出正确的选择,如图15所示。如图15所示。
图15. 指定HSQLDB驱动程序类
按照图14所示设置适用于您自己的安装的值之后,就可以单击Finish来创建配置文件。Hibernate Synchronizer现在已经可以使用了。它打开了创建的文件,所以可以看到一个Hibernate的XML配置文件的结构和详细信息。
分享到:
相关推荐
在 Eclipse 中搭建 Hibernate 项目环境步骤 在本文中,我们将详细介绍如何在 Eclipse 中搭建 Hibernate 项目环境的步骤。Hibernate 是一个流行的 Java 持久层框架,提供了对数据库的访问和操作功能。通过本文,读者...
本文将详细介绍如何在Eclipse集成开发环境中设置和使用Hibernate进行开发。 #### 二、环境搭建 ##### 1. Eclipse安装与配置 - **Eclipse IDE**: 首先确保已经安装了最新版本的Eclipse IDE for Java Developers。 -...
通过以上步骤,一个基本的Struts2+Hibernate开发环境就搭建完成了。在实际开发中,还需要根据项目需求进行更深入的定制和优化,例如加入Spring框架进行依赖注入,或者使用MyBatis进行更灵活的SQL操作。
这个压缩包文件“struts+spring+hibernate开发的+开发环境_eclipse3.1+MyEclipse4.1+tomcat5”显然提供了一个基于这些技术的新闻发布系统的开发环境。下面我们将详细探讨这三大框架以及相关的开发工具和服务器。 **...
本教程将详细介绍如何在Eclipse中搭建一个基于Spring、SpringMVC和Hibernate的集成开发环境,为初学者提供一个良好的起点。 首先,我们来了解这三个框架的核心功能: 1. **Spring**:这是一个轻量级的Java企业级...
本文将详细介绍如何在Eclipse环境中搭建Hibernate,并列举出支持Oracle数据库所需的19个jar包。 首先,我们需要理解Hibernate的工作原理。Hibernate通过提供一个对象层,将Java类映射到数据库表,这样开发者就可以...
- **Eclipse 3.2.1**:集成开发环境,可从Eclipse官方网站获取。 - **MySQL 5.1.12**:数据库系统,从MySQL官方网站下载。 - **MySQL数据库驱动包**:支持Java应用与MySQL数据库通信,同样从MySQL官方网站下载。 - *...
### Hibernate项目环境搭建详解 #### 一、理解Hibernate与项目环境搭建的重要性 Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用中简化数据库访问。它提供了强大的映射工具和代码生成机制,使得开发...
下面将介绍如何在 Eclipse 中搭建 MyBatis 智能开发环境。 MyBatipse 插件 MyBatipse 是一个 Eclipse 插件,旨在提供智能提示功能,以便更好地编写 SQL 语句。这个插件可以为在 DAO 层的方法提供跳转功能,跳转到 ...
### Hibernate4.1环境搭建详解 #### 一、概述 在构建现代Web应用程序时,集成Spring框架、Struts2以及Hibernate等技术是非常常见的选择。这些技术的组合通常被称为SSH(Spring + Struts + Hibernate),是一种非常...
在IT行业中,开发Java Web应用时常常会使用到一套名为SSH2(Struts2、Spring、Hibernate)的技术栈...提供的文档"Eclipse+Struts+Spring+Hibernate+Mysql环境搭建及访问数据库实例.doc"将更详细地指导你完成整个过程。
在本教程中,我们将详细探讨如何搭建 Hibernate 5.2.4 的开发环境,并理解其源码。 首先,我们需要准备以下基础组件: 1. **JDK 8**: Hibernate 5.2.4 需要 Java 8 或更高版本。确保已安装 JDK,并将其路径添加到...
【JavaEE实验五:大学本科生Hibernate】实验主要目标在于让学生掌握Hibernate开发环境的搭建,理解ORM框架的概念,以及深入理解Hibernate映射文件和配置文件的使用。Hibernate是一个强大的ORM(对象关系映射)框架,...
Eclipse Hibernate的基本配置和简单实现涉及了环境搭建、实体类设计、SessionFactory的获取、CRUD操作、事务处理、查询方式以及实体关系映射。理解并熟练掌握这些概念和操作,可以帮助开发者更高效地进行Java数据库...
在本资源中,我们主要关注的是使用Eclipse集成开发环境(IDE)进行Web应用程序的开发,特别是集成Struts、Hibernate、Spring和JBPM这四个关键的技术框架。这四个框架是Java企业级应用开发中的核心组件,它们分别负责...
在IT行业中,Eclipse是一款广泛使用的Java集成开发环境(IDE),而Hibernate则是一个优秀的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的访问。本资源包是针对2018-9版本的Eclipse进行的Hibernate...
在开发环境中,尤其是Java Web开发中,SSH通常指的是Spring、Struts和Hibernate这三大框架的组合,它们是构建企业级应用的强大工具。本教程将详细介绍如何在Eclipse集成开发环境下搭建SSH环境。 一、安装Eclipse ...
本文将详细介绍如何搭建一个基本的Hibernate开发环境。 首先,我们需要准备一些必要的依赖库。这些库通常包含在JAR文件中,其中日志类的JAR包是必不可少的,因为Hibernate在运行时会产生大量的日志信息,这对于调试...