预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共49页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Hibernate应用Hibernate简介Hibernate是什么:Hibernate简介Hibernate不仅仅管理Java类到数据库表的映射 (包括Java数据类型到SQL数据类型的映射),还提供数 据查询和获取数据的方法,可以大幅度减少开发时人工使用 SQL和JDBC处理数据的时间。 Hibernate能在众多的ORM框架中脱颖而出,因为 Hibernate与其他ORM框架对比具有如下优势: 开源和免费License,方便需要时研究源代码,改写源代码,进行功能定制。 轻量级封装,避免引入过多复杂的问题,调试容易,减轻程序员负担。 具有可扩展性,API开放。功能不够用时,自己编码进行扩展。 开发者活跃,产品有稳定的发展保障。系统逻辑层面是专注于实现数据持久化的一个相对独立的领域(Domain),这个层面应该拥有一个较为清晰和严格的逻辑边界。目前Java中共有四种常用的实现持久化的模式:JDBC直接访问数据库模式、主动域对象模式、CMP模式和ORM模式。常用的ORM中间件有:Hibernate、ApacheOJB、Cayenne、Jaxor、TopLink等。其中Hibernate的轻量级ORM模型逐步确立了在JavaORM架构中的领导地位,甚至有可能取代复杂的EJB模型而成为事实上的JavaORM工业标准。Java应用程序运行时,往往把数据封装为相互连接的对象网络,手工来执行这些任务不仅单调乏味、易于出错,而且会占用大部分工作量。因此,可以通过对象/关系映射(ORM)工具来改变这种重复性的劳动,使整个过程自动化。Hibernate就是对象/关系映射(ORM)工具,它是一个免费的开放源代码Java包,可使得与关系数据库的通信很简单。它解放了编程者,使编程者可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们。在项目中使用Hibernate框架,非常关键的一点就是要了解Hibernate的核心接口。Hibernate接口位于业务层和持久化层,如图所示。Hibernate是一个优秀的持久化框架Hibernate是一个主流的ORM框架Hibernate软件包简介Hibernate框架简介Hibernate的结构体系8.3.2Hibernate的核心组件Hibernate的核心接口一共有5个,分别为Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。(1) Session接口。Session接口对于Hibernate开发人员来说是一个最重要的接口。然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目中确实很重要,因为在客户程序中,可能会不断地创建以及销毁Session对象,如果Session的开销太大,会给系统带来不良影响。但值得注意的是,Session对象是非线程安全的,因此在设计中,最好是一个线程只创建一个Session对象。Hibernate的设计者将Session看做介于数据连接与事务管理的一种中间接口。我们可以将Session想象成一个持久对象的缓冲区,Hibernate能检测到这些持久对象的改变,并及时刷新数据库。我们有时也称Session是一个持久层管理器,因为它包含着一些与持久层相关的操作,诸如存储持久对象至数据库,以及从数据库获得它们。请注意,Hibernate的Session不同于JSP应用中的HttpSession。当我们使用Session这个术语时,我们指的是Hibernate中的Session,而将HttpSesion对象称为用户Session。(2) SessionFactory接口。SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是,SessionFactory并不是轻量级的。实际上它的设计者的意图是让它能在整个应用中共享。典型情况下,一个项目通常只需要一个SessionFactory就够了,但是当项目要操作多个数据库时,就必须为每个数据库指定一个SessionFactory。(3) Configuration接口。Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。(4) Transaction接口。Transaction接口负责与事务相关的操作。