使用 Hibernate 将 Java 对象持久保存到 IBM DB2 通用数据库中
Javid Jamae 独立软件顾问,Jamae Consulting 德克萨斯州奥斯汀 Kulvir Singh Bhogal IBM Software Services for WebSphere 德克萨斯州奥斯汀 2003 年 10 月 ?2003 International Business Machines Corporation. All rights reserved |
引言
让我们面对现实吧,如果您在企业应用程序中以手工方式编写 SQL 语句的代码,那么您将花费大量的开发时间去更新和维护持久性层。要是能够方便地将现有 Java? 对象持久保存到关系数据库(如 IBM? DB2? Universal Database?,UDB)岂不是很好? 幸运的是存在这样的办法。对象/关系(Object/Relational,O/R)映射工具是一些成熟的工具,它们能够将对象映射到关系数据库中的行,从而不再需要复杂的持久层,并且使开发人员只需编写最少的 SQL,在多数情况下不需编写任何 SQL。 Hibernate 是按照 LGPL 许可证发布的开放式源代码应用程序,它是“用于 Java 的超高性能的对象/关系持久性和查询服务”。在本文中,我们将为您说明如何使用 Hibernate 方便地(一行 SQL 代码都不用写)将 Java 对象持久保存到 DB2 数据库中。 为了演示 Hibernate 的工作机制,我们将创建一个简单的类模型,它由两个类组成:Employee 和 Department。为了简单起见,一名员工(employee)有一个部门(department),而部门没有到员工的引用。有关类图参阅图 1。 图 1. Employee/Department 类图 我们将使用 WebSphere? Studio 5.0 的 Application Developer 配置和一个称为 Hibernator 的插件来开发应用程序,Hibernator 能简化一些配置 Hibernate 的工作。 设置 WebSphere Studio 和 Java 项目
首先,让我们花些时间准备实验所需的要素:
- 在 WebSphere Studio 中创建一个新的 Java 项目。
- 从 http://sourceforge.net/projects/hibernate/ 下载 Hibernate。在撰写本文时,Hibernate 的版本是 1.2.4。
- 解压缩从 SourceForge 得到的 Hibernate 压缩文档,将其中的内容解压缩到一个临时目录。
- 将名为
hibernate.jar 的 JAR 文件导入到项目的基本目录。
- 从 Hibernate 分发包中的 lib 目录导入以下 jar 文件:
commons-lang.jar
commons-collections.jar
commons-logging.jar
xml-apis.jar
xerces.jar
- 将
hibernate.jar 添加到您的 Java 构建路径(Java Build Path)(用鼠标右键单击 project -> Properties -> Java Build Path -> Libraries -> Add JARs...,然后指向您所导入的 hibernate.jar )。
- 从 SourceForge(http://sourceforge.net/projects/hibernator/)下载 Hibernate Eclipse 插件。您会看到,这个插件使得同步现有的 Java 类和定义我们的 O-R 映射规则的 Hibernate 映射文件更容易。在撰写本文时,该插件的版本是 0.9.3。
- 将这个插件的压缩文件解压缩到
[WSAD 5 InstallDir]/eclipse/plugins/ 目录。
- 要与 DB2 UDB 进行交互,我们还需要导入 DB2 JDBC 数据库驱动程序。导入缺省情况下位于
C:/program files/IBM/SQLLIB/java/ 目录的 db2java.zip 文件。确保将 db2java.zip 添加到类路径中。
- 我们已经在本文所附带的代码中包含了一些 JUnit 测试。如果要运行这些测试,需要导入缺省情况下位于
[WSAD5InstallDir]/eclipse/plugins/org.junit_3.7.0 目录的 junit.jar 文件。
- 我们必须重新启动 WebSphere Studio,以便它注册我们所添加的插件。
配置 hibernate.properties
为了促进与 DB2 UDB 的通信,我们需要让 Hibernate 知道一些我们的数据库属性。为此,我们将创建一个名为 hibernate.properties 的文件,这个文件必须出现在我们应用程序的类路径中。在我们的示例中,我们将把这个属性文件放到项目的基本目录中,这个目录包含在类路径中。您可能需要针对您自己的数据库设置更改下列属性值。
hibernate.connection.driver_class = COM.ibm.db2.jdbc.app.DB2Driver hibernate.connection.url = jdbc:db2:empl hibernate. |
|