alxe1528

BlogJava 联系 聚合 管理
  3 Posts :: 11 Stories :: 2 Comments :: 0 Trackbacks
翻译: 刘长炯(beasoft@126.com)
Blog: http://www.blogjava.net/beansoft/
可自由传播, 未经作者许可不得用于商业用途(如付费培训等).

注: 此文档原文(英文)位于 MyEclipse 安装后的帮助文档中. 

___________________________________________________________________________________________________________

1. 前言

本文档基于以下环境编写: Sun JDK 1.5, Eclipse 3.2 和 MyEclipse 5.0. 所有的截屏基于 Eclipse, MyEclipse Enterprise Workbench, 和 Windows XP 的默认用户界面设置. 如果你对本文档的介绍有阅读上的困难, 请阅读 用户反馈 部分来了解如何向 MyEclipse 文档团队提交反馈.

___________________________________________________________________________________________________________

3. 介绍

这个快速入门展示了使用 MyEclipse Enterprise Workbench 开发 Hibernate 的基本功能, 概念和技术. 我们将全程带领你来开发一个非常简单的 Java Hibernate 应用. 对于这个教程没有包含到的问题和概念, 我们推荐你去参考 资源 部分列出的 Hibernate 资源.

这个文档展示了如何进行下列工作:

       a.为 Java 项目添加 MyEclipse Hibernate 支持
       b.在项目中创建 Hibernate 配置文件
       c.如何使用自定义的 Session Factory
       d.从 Database Explorer 的表定义中生成 Java 类和 Hibernate 数据库映射文件 (.hbm)
       e.使用 HQL 编辑器
       f.创建使用 Hibernate 的小测试应用

注意: 在使用本教程时建议您事先阅读了 Database Explorer 快速入门 这个教程来了解如何创建连接和元数据功能.

___________________________________________________________________________________________________________

4. Hibernate 一览

Hibernate 是一个非常流行的开源的易于配置和运行的基于 Java 的对象-关系映射(JORM) 引擎. 它提供了很丰富的功能包括:

     a.多种映射策略
     b.可迁移的持久化
     c.单个对象映射到多个表
     d.支持集合
     e.多态关联
     f.可自定义的 SQL 查询

Hibernate 使用 Java 编写, 是高可配置的软件包, 可以通过两种配置文件格式来进行配置. 第一种配置文件名字为 hibernate.cfg.xml. 在启动时, Hibernate 查询这个 XML 里面的属性来进行操作, 例如数据库连接字符串和密码, 数据库方言(database dialect), 以及映射文件位置等. Hibernate 在类路径中查找这个文件. 第二种配置文件是映射描述文件(文件扩展名为 *.hbm), 它来指示 Hibernate 如何来将特定的 Java 类和一个或者多个数据库表格中的数据进行映射. MyEclipse 提供了工具来处理这两种配置文件, 并且可以将它们和你对数据库和 Hibernate 映射的 Java 类的修改进行同步.

Hibernate 可以用在任何需要将 Java 对象和数据库表格中的数据进行移动的 Java 应用中. 因此, 它在开发两层和三层的 J2EE 应用中很有用. 向你的应用中集成 Hibernate 包括:

       a.向你的项目中安装 Hibernate 核心类和依赖的 JAR 类库
       b.创建 hibernate.cfg.xml 文件来描述如何访问你的数据库

       c.为每个持久化 Java 类创建单独的映射描述文件

___________________________________________________________________________________________________________

5. 创建HibernateDemo项目

这一部分描述了创建名为 HibernateDemo 的简单的 Java 项目的过程, 这个项目使用 Hibernate 来保存文本消息到一个单独的数据库表格中. 因为多数企业的网络应用都是和企业关系数据库中的数据进行交互, 我们将集中精力到编写 Java 数据对象和映射文件到现有的数据库.

我们需要映射到 Java 类的这个数据库表格列在下面. 为了方便测试, 我们已经向数据库中添加了很多测试数据.

echo_message DDL
CREATE TABLE echo_message
(
    id integer PRIMARY KEY not null,
    msg VARCHAR(255)
);

insert into echo_message values(1, 'hello world');
insert into echo_message values(2, 'goodbye world');
一般的在你进行 Hibernate 开发之前你需要一个能够访问的 Database Explorer 连接配置. 在这个教程中, 我们使用 Oracle 数据库连接配置, 这个配置在 Database Explorer 快速入门 教程中创建.

注意: 尽管这个快速入门使用了 Oracle, 但是这些步骤和上面的表格基本上是通用的, 可以在任何数据库下工作.

___________________________________________________________________________________________________________

5.1 创建HibernateDemoJava Project


我们先来创建一个普通的名为 HibernateDemo 的 Java 项目, 这个项目读取写入数据到 echo_message 数据库表.

从 MyEclipse 菜单栏选择 File > New > Project > Java Project. 接着会打开 New Java Project 向导. 输入 HibernateDemo 到 Project name  在 Project Layout 下选中 Create separate source and output folders 单选钮. 选择 Finish 来完成这个页面.

___________________________________________________________________________________________________________

5.2 添加 Hibernate Capabilities 到HibernateDemo项目 

 

现在 HibernateDemo 项目已经创建, 我们将添加 MyEclipse Hibernate 功能到这个项目. 这个基于向导的处理过程执行了下面的操作:

添加 Hibernate 类库 (JARs) 到项目的类路径. 在项目中创建并配置 hibernate.cfg.xml 在项目中创建自定义的 Session Factory 类来简化 Hibernate 会话处理

我们通过打开 MyEclipse Add Hibernate Capabilities 向导来开始:

Package Explorer 中选择 HibernateDemo 项目 接下来, 从 MyEclipse 菜单栏选择  MyEclipse > Add Hibernate Capabilities ... 来启动向导 (参考图 2).


图 2.  启动 "Hibernate Support" 向导



图 3.  添加 Hibernate 支持到 Java 项目

保持 Hibernate 3.1 specification 选中不变. 选择你需要的类库集合, 在这个示例中 Core 类库足够了. 保持 Add checked Libraries to project build-path 选中. 选择 Next.

 表-1.  Hibernate Support 向导 - 第1页选项

选项 描述

Hibernate Specification

要添加到项目中的 Hibernate 版本支持功能. 为了最大限度的使用 MyEclipse Hibernate 工具, 推荐 Hibernate 3.1.

MyEclipse/User Libraries

可以添加到你的项目的构造路径的类库集合.

Add checked Libraries to project build-path

选中的类库将会添加到你的项目的构造路径中, 但是相应的 JAR 文件将 不会 复制到你的项目中. 这些 JAR 文件 将会 在发布程序时复制, 这是推荐的设置方式.

Copy checked Library Jars to project folder and add to build-path

选中的类库 JAR 文件将会被复制到你的项目并添加到构造路径中去.

Library Folder

仅在上面的选项选中时可用.
一个相对于项目的路径, 可以新建或者使用现有目录, Hibernate 类库将会被向导复制到这里.


第 2 页 允许你自定义配置文件的名字和路径.


图 4. Hibernate 配置文件设置

保持 New 选中.完成图 4 中显示的页面然后选择 Next.


图 5. Hibernate 数据库配置

保持 Specify datasource connection details? 选中. 选中 Oracle 配置, 这个配置在 Database Explorer 快速入门 设置过, 通过 DB Profile 下拉框选择. 这将自动填充当前页面中的所有输入框.
注意: 在这里数据库配置并非必须的; 你可以手工输入所有需要的信息, 不需要选择一个配置.
在这种情况下, 你必须确保在向导完成后手工复制 JDBC 驱动 JAR 文件到你的项目中.选择 Next.

上面进行的数据源配置操作可以现在跳过, 可以在随后的 Hibernate Configuration 编辑器 中进修改.

项目的最后一步是配置一个 SessionFactory 类, 这个类将会访问 Hibernate 功能所生成的基础代码. 本向导的截屏如图 6 所示.


图 6.  创建 SessionFactory 详细信息 

表 3 - Hibernate Support 向导 - 第 3 页选项

选项 描述

Create SessionFactory Class?

如果启用, 向导将会创建一个 Hibernate 会话工厂的新类. 

Java source folder

决定新类将被创建到的源代码目录.

Java package

指定 Session 工厂将被创建到的包名.

Class name

指定 Session 工厂类的名字.

Java Compliance Level

生成的 Session 工厂类的 Java 编译器等级.

选中  Create SessionFactory class. 选中包输入框右侧的 New 按钮然后创建包 com.genuitec.hibernate . 给 Session Factory 类 输入一个名字, 我们使用默认推荐的 HibernateSessionFactory. 完成如图 6 所示的页面, 然后选择 Finish.

注意: Session Factory 也可以在稍后创建, 通过 Session Factory 向导来完成 (File > New > Other MyEclipse > Hibernate > Hibernate Session Factory).
如果你在第一页选中了复制类库到你的项目中, 在向导完成之后的至多 30 秒内可能失去反应, 因为它将复制类库并更新多种项目资源. 请耐心等待并在进行其它操作之前等待过程的结束.

这个向导结束后将进行下列操作:

如果在第一页选择了复制类库到你的项目, 将安装 Hibernate 类库 (JARs) 到项目中 更新项目的构造路径来包含已安装的 Hibernate 类库 给项目创建并配置 hibernate.cfg.xml 文件 为你的项目创建一个自定义的 SessionFactory 类 (例如 HibernateSessionFactory) 来简化 Hibernate 会话会话处理

图 7 高亮显示了新创建的 HibernateSessionFactory.java 文件里面的重要功能. 这个类管理了一个单独的 Hibernate Session 对象, 通过 getSession() 方法进行延迟加载并且在调用 closeSession()方法之后刷新并释放数据. 在运行的时候, Hibernate 会话创建过程必须要能够访问类路径里面的 hibernate.cfg.xml 文件. 变量 CONFIG_FILE_LOCATION 定义了文件 hibernate.cfg.xml 相对于包的路径. 默认值通过 Hibernate 支持向导来提供. 如果你改动了 hibernate.cfg.xml 文件的位置, 你必须手工修改 CONFIG_FILE_LOCATION 的值来引用到新的文件的位置或者可以通过在使用之前调用 setConfigFile() 方法来设置为新的路径.


图 7. HibernateSessionFactory 类

___________________________________________________________________________________________________________

5.3 自定义 Hibernate 配置文件


完成了 5.2 部分的配置向导后, Hibernate 配置文件将会自动打开.
如果你在添加功能过程中跳过了数据源连接的配置, 你可以现在来完成它, 也可以跳转到 添加属性.

自定义配置文件里面的需要连接到我们的数据库的信息.

选中 Use JDBC Driver 选项.
我们将指定 Database Explorer 中的 JDBC 驱动. 如果你尚未配置 JDBC 驱动, 请阅读 Database Explorer 快速入门 然后在进行下面的操作之前配置一个. 从 Connection Profile 下拉框中选中一个配置.
如果你只是配置了 JDBC 驱动但是没有配置一个连接属性, 你可以选择 New Profile 按钮来创建一个新的连接配置. 如果你已经有了一个连接配置, 当你选择其中的一个之后将会自动填充下面的 4 个输入框中的内.
点击  Copy JDBC Driver and add to classpath... 链接. 为你的数据库选中正确的 Hibernate Dialect. 你的配置页面将会显示为这样的内容:


图 8. Hibernate 配置文件, 配置了 Oracle 连接


你可以使用 Properties 部分来添加和修改属性.

    
图 9. 添加属性


Mappings 部分可以让你添加也许已经存在项目中的映射文件. 另外, 从 Package Explorer 拖放 映射文件到这个输入框也可以达到同样的效果.

    


图 10. 添加映射文件

图 11 上述操作完成后的 Hibernate 配置文件的源代码.


图 11. Hibernate 配置文件


posted on 2011-12-27 22:11 郑健成 阅读(534) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: