优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

Hibernate在IT服务管理项目中的应用

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
研究意义
现在,越来越多的Java开发人员把Hibernate作为企业应用和关系数据库之间的中间件,以节省和对象持久化有关的30%的JDBC编程工作量。2005年,Hibernate作为优秀的类库和组件,荣获了第15届Jolt大奖。Hibernate之所以能够流行,归功于它的以下优势:
1.它是开放源代码的,允许开发人员在需要的时候研究源代码,改写源代码,定制客户化功能。
2.具有详细的参考文档。
3.对JDBC仅做了轻量级封装。
4.具有可扩展性。
5.使用方便,容易上手。
6.Hibernate既适用于独立的Java程序,也适用于Java Web应用,而且还可以在J2EE
架构中取代CMP,完成对象持久化的重任,Hibernate能集成到会话EJB和基于BMP的实体EJB中;
7.Hibernate可以和多种Web服务器、应用服务器良好集成,并且支持几乎所有流
行的数据库服务器。
1.3 研究内容
本文研究了ORM以及其他持久层技术,对比了这些技术,说明ORM技术的优越性,并深入研究了一个基于ORM实现的持久层框架——Hibernate。先了解Hibernate组成的基本元素,并进一步了解Hibernate的基础语意、配置等概念:了解配置文件、映射文件中各种元素的意义;了解Hibernate常使用的几个类别的基本使用方式;了解如何实现O/R映射、数据关联;研究了Hibernate内部的对象状态、数据缓存、事务管理方式及数据检索;本文最后以一个IT服务管理项目的实现体验了Hibernate的强大功能。

think58好,好think58 [来源:http://www.think58.com]


数据持久化的概念及相关知识
2.1 数据持久性
面向对象的开发方法己经成为当今的主流,但是又不得不使用关系型数据库,所以在企业级应用开发的环境中,对象、关系的映射(ORM)成为一种耗时的工作。
数据是应用程序开发所必不可少的基础。计算机应用程序的核心是使某人或另一个计算机系统能够访问其数据。持久数据存储就是即使在服务器崩演的情况下仍能存在的数据存储。几乎任何一种程序都将涉及某种持久性数据一即使可能还没有把数据存储需求与之直接关联起来的那些程序。美国国家标准与技术研究所(The United States National Institute of Standards and Technology)定义了三种级别的持久数据:
(1) 部分持久数据是一种仅允许对最新版本更新的持久数据结构;
(2) 持久数据是一种保留其旧版本的数据结构,即以前版本和当前版本都可能被查询;
(3) 完全持久数据是一种维护其数据的所有版本并允许对这些版本更新的持久数据 结构。
大多数业务应用程序至少提供部分持久数据。这种类型的持久性在事务中期或者甚至在请求中期出现系统故障时容易遭到破坏,这会导致数据不完整且常常遭毁坏。另一方面,在持久数据实现中,对系统中断或故障以“回滚(rollback)" 回应,数据状态被回滚到上一个已知的良好配置。持久数据实现在企业体系结构和数据库管理系统(DBMS)中很常见。完全持久数据实现非常少见。完全持久数据实现的少数几个示例有:日志记录文件系统、VMS文件系统(如VAX和Mac QSX)以及并发版本控制系统(CVS)。

内容来自think58 [资料来源:www.THINK58.com]


2.2 持久性框架
围绕对象关系的映射和持久数据的访问,在Java领域中发展起来了一些API和框架。下面分别简单加以介绍。
2.2.1 持久性框架概述
持久性框架是一组软件服务,将应用程序与其使用和操纵的数据源分离。持久性框架位于架构的数据源之上,隐藏访问这些数据源的数据访问API(如JDBC,JDO或EJB)。提供的服务应完全抽象和从这个数据源使用和操纵数据的物理细节。
持久性框架提供下列服务,让开发人员在持久性框架之上建立应用程序:
(1) 提供分开数据持久逻辑与表示和业务逻辑的整洁机制在上面的体系结构框图中,只有业务层可以访问公司数据库。业务层用Data Access Object模式与公司数据库交互,而不用JDBC之类的数据访问APJ访问数据源;
(2) 不让框架上建立的应用程序了解数据所在的数据库平台将所有数据连接逻辑包装到数据访问对象中后,业务应用程序的开发人员不需要知道连接的数据库平台类型,连接数据库时所需的任何安全信息(用户ID与口令)或数据库网址;
 (3) 抽象数据库中存储数据的物理细节和数据库中数据实体之间存在的关系建立在上述体系结构布局之上的应用程序不必直接对数据库发出SQL查询,不必知道数据的物理结构,而用数值对象访问数据库;
(4) 简化开发过程,隐藏打开数据库连接、发出数据读取与操纵命令和事物管理的细节Data Access Object与Value Object模式完全分离业务应用程序的开发人员与其在应用程序中使用的数据源,不需要知道数据访问API,而用简单接口读取与操纵数据。 本文来自think58

[版权所有:http://think58.com]


2.2.2 O/R Mapping技术
简单地说 ,对象一关系映射就是Java应用中的对象到关系数据库中表的自动的(和透明的)持久化,使用元数据对对象与数据库间的映射进行描述。本质上,ORM的工作是将数据从一种表示(双向)转换为另一种。这意味着有一些性能损失。然而,如果ORM是作为中间件实现的,就会有许多机会可以进行优化而在手工编码的持久层中这些机会是不存在的。另外一项开销(在开发时)是对控制转换的元数据的准备与管理。而且,这个成本低于维护一个手工编码的解决方案所需的成本。相比之下,与ODMG兼容的对象数据库甚至需要大量类级别的元数据。
ORM解决方案由以下四部分组成:
(1) 在持久类的对象上执行基本的CRUD操作的一组API;
(2) 用于指定查询的一种语言或一组API,这些查询会引用类和类属性;
(3) 用于指定映射元数据的工具;
(4) 实现ORM的一项技术,用来与事务对象交互以完成数据检查、延迟关系抓取及其它优化功能。ORM这个术语包含所有可以根据元数据的描述自动生成SQL的持久层。不包含开发者通过编写SQL和使用JDBC手工解决对象一关系映射问题的持久层。使用ORM,应用可以与ORM API和根据下层SQL/JDBC抽象出来的业务模型类进行交互。依赖于这些特征或特定的实现,ORM运行时也可能承担例如乐观锁定、缓存等问题的职责,完全免去了应用对这些问题的关心。

本文来自think58 [版权所有:http://think58.com]