欢迎来到天天文库
浏览记录
ID:44226488
大小:220.50 KB
页数:25页
时间:2019-10-19
《Hibernate框架第一讲》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Hibernate框架田宏瀚eMail:affect1210@163.comMSN:inmyhead@126.comTel:13634314361本课程目的及要点本课程的目的1.Hibernate的产生.2.理解持久化技术,持久层技术,以及持久层技术的实现。3.ORM概述4.Hibernate简介Hibernate的产生在如今的企业应用开发环境中,面向对象的开发方法已成为主流。众所周知,对象只能存在于内存中,而内存不能永久保存数据。如果要永久保存对象的状态,需要进行对象的持久化,即把对象存储到专门的数据存储库中。目前,关系数据库仍然是使用最广泛的数据存储库。
2、关系数据库中存放的是关系数据,它是非面向对象的。Hibernate的产生对象和关系数据库其实是业务实体的两种表现形式。业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,把对象持久化到关系数据库中,需要进行对象-关系的映射(Object/RelationMapping,简称ORM),这是一项烦琐耗时的工作。Hibernate的产生在实际应用中,除了需要把内存中的对象持久化到数据库外,还需要把数据库中的关系数据再重新加载到内存中,以满足用户查询业务数据的需求,频
3、繁地访问数据库,会对应用的性能造成很大影响。为了降低访问数据库的频率,可以把需要经常被访问的业务数据存放在缓存中,并且通过特定的机制来保证缓存中的数据与数据库中的数据同步。Hibernate的产生在Java领域,可以直接通过JDBC编程来访问数据库。JDBC可以说是访问关系数据库的最原始、最直接的方法。这种方式的优点是运行效率高,缺点是在Java程序代码中嵌入大量SQL语句,使得项目难以维护。在开发企业级应用时,可以通过JDBC编程来开发单独的持久化层,把数据库访问操作封装起来,提供简洁的API,供业务层统一调用。但是,如果关系数据模型非常复杂,那么直接通过
4、JDBC编程来实现持久化层需要有专业的知识。对于企业应用的开发人员,花费大量时间从头开发自己的持久化层不是很可行。Hibernate的产生幸运的是,目前在持久化层已经有好多种现成的持久化中间件可供选用,有些是商业性的,如TopLink;有些是非商业性的,如JDO和Hibernate。Hibernate是一个基于Java的开放源代码的持久化中间件,它对JDBC做了轻量级封装,不仅提供ORM映射服务,还提供数据查询和数据缓存功能,Java开发人员可以方便地通过HibernateAPI来操纵数据库。现在,越来越多的Java开发人员把Hibernate作为企业应用和
5、关系数据库之间的中间件,以节省和对象持久化有关的30%的JDBC编程工作量。预习软件分层结构模式表示层:提供用户界面的显示和与用户所进行的交互操作。业务逻辑层:进行软件核心业务逻辑的处理。持久层:用于进行对象的持久化操作。域模型层:真实世界中的业务对象。预习软件分层结构模式分层结构的好处是降低了以前的业务逻辑层的复杂度,使其可以只关心业务处理,而相应数据的持久化操作则交给持久层来进行。这样实现了业务逻辑与数据的持久化操作的分离,减轻了业务逻辑开发的工作量和复杂度。同时,数据的持久化可以通过其他的组件来完成,Hibernate就是用来完成数据的持久化操作的优秀
6、解决方案之一。预习软件分层结构模式在这里需要注意的是持久层并不是进行简单的持久化操作,他应该建立在整个系统开发的一个逻辑层面上,是专门用语实现数据持久化的一个相对独立的领域。它对于系统的其他部分而言,应该具有较为清晰和严格的边界,并能够提供完整的数据持久化的解决方案。预习软件分层结构模式上节课简单地了解什么是持久化、什么是持久层以及它们之间的关系。简单地说,持久化是一个动词,意味着某种动作或者机制的执行。通过进行持久化操作,可以将内存中的数据保存到数据库中或者其他的媒介中以供以后使用。而持久层则是一个名词,它代表着软件体系结构中的一个逻辑层次。在这个层次中,
7、可以将数据对象与数据实体联系起来,实现数据的持久化操作。持久层的特征那么,什么样的系统结构才能说具有持久层呢?也就是说具有怎样特征的软件才能说具有独立的持久层呢?对于这个问题没有一个明确的答案,通常认为满足下面这些条件的软件系统就可以说具有一个独立的持久层。1.当显示层的显示形式和实现机制发生改变时,持久化代码不需要修改和编译。2.当业务逻辑发生改变的时候,持久化代码不需要进行修改和编译。注意:当然,这些条件只能作为确定一个系统是否具有独立的持久层的基本特征,在不同的情况下,也存在着一定的变化。通过持久层的判断方法也可以看出现在所采用的多层逻辑结构进行软件开
8、发的最大好处是可以降低系统的耦合度,使一个部分的修改
此文档下载收益归作者所有