关于Hibernate框架的简介

 我来答
大沈他次苹0B
2022-11-07 · TA获得超过7302个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:174万
展开全部

   应用程序的分层体系结构

  随着计算机应用软件的发展 应用程序逐渐由单层体系结构发展为多层体系结构 其中 三层结构是目前典型的一种应用软件结构 如图 左

  表述层 提供与用户交互的界面 如GUI(图形用户界面) web页面等

  业务逻辑层 负责各种业务逻辑 直接访问数据库 提供对业务数据的保存 更新 删除和查询操作

  数据库层 负责存放管理应用的持久性业务数据

  三层结构的特点是 所有下层向上层提供调用的接口 具体实现细节对上层透明 层与层之间存在自上而下的依赖关系 即上层会访问下层的API 但下层不依赖于上层  

      持久化层(如图 右)

  ( )什么叫持久化?

  在图 右中 分离出的持久化层封装了数据访问细节 为业务逻辑层提供了面向对象的API

  持久(Persistence) 即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘) 持久化的主要应用是将内存中的数据存储在关系型的数据库中 当然也可以存储在磁盘文件中 XML数据文件中等等

  ( )什么叫持久层?

  持久层(Persistence Layer) 即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面 将数据使用者和数据实体相关联

  ( )为什么要持久化?增加持久层的作用是什么?

  数据库的读写是一个很耗费时间和资源的操作 当大量用户同时直接访问数据库的时候 效率将非常低 如果将数据持久化就不需要每次从数据库读取数据 直接在内存中对数据进行操作 这样就节约了数据库资源 而且加快了系统的反映速度

  增加持久化层提高了开发的效率 使软件的体系结构更加清晰 在代码编写和系统维护方面变得更容易 特别是在大型的应用里边 会更有利 同时 持久化层作为单独的一层 人们可以为这一层独立的开发一个软件包 让其实现将各种应用数据的持久化 并为上层提供服务 从而使得各个企业里做应用开发的开发人员 不必再来做数据持久化的底层实现工作 而是可以直接调用持久化层提供的API

  ( )目前在持久化层领域 实现模式有以下几种

  A 业务逻辑和数据访问耦合

  B 主动域对象模式

  C ORM模式

  D JDO模式

  E CMP模式

   ORM介绍

  ORM(Object Relational Mapping) 即对象关系映射

  指以O/R原理设计的持久化框架(Framework) 包括 O/R机制 SQL自生成 事务处理和Cache管理等

  ORM的实现思想就是将关系数据库中表的数据映射成为对象 以对象的形式展现 这样开发人员就可以把对数据库的操作转化为对这些对象的操作 因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作

  常用的ORM中间件有

  Apache OJB ()

  Cayenne ()

  Jaxor ()

  Hibernate ()

  iBatis ()

  jRelationalFramework ()

  mirage ()

  SMYLE ()

  TopLink ()

  其中 Hibernate 的轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位 甚至取代复杂而又繁琐的 EJB 模型而成为事实上的 Java ORM 工业标准 而且其中的许多设计均被 J EE 标准组织吸纳而成为最新 EJB 规范的标准

  二 Hibernate定义

  Hibernate是一种Java语言下的对象关系映射解决方案 它是一种自由 开源的软件 它用来把对象模型表示的对象映射到基于SQL 的关系模型结构中去 为面向对象的领域模型到传统的关系型数据库的映射 提供了一个使用方便的框架

  三 Hibernate的作用

  Hibernate 不仅管理Java 类到数据库表的映射(包括从Java数据类型到SQL数据类型的映射) 还提供数据查询和获取数据的方法 可以大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间

  它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来 无论是从设计草案还是从一个遗留数据库开始 开发人员都可以采用Hibernate

  四 Hibernate的应用

  Hibernate对JDBC进行了非常轻量级的对象封装 使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库 Hibernate可以应用在任何使用JDBC的场合 它既可以在Java的客户端程序使用 也可以在Servlet/JSP的Web应用中使用 最具革命意义的是 Hibernate可以在应用EJB(Enterprise JavaBeans是Java应用于企业计算的框架)的J EE架构中取代CMP 完成数据持久化的重任

  五 Hibernate API简介

   Hibernate API中的接口可以分为以下几类

  ( ) 提供访问数据库的操作的接口 包括session Transaction Query接口

  ( ) 用于配置Hibernate的接口 Configuration

  ( ) 间接接口 使应用程序接受Hibernate内部发生的事件 并作出相关的回应 包括 Interceptor Lifecycle Validatable

  ( ) 用于扩展Hibernate功能的接口 如UserType CompositeUserType IdentifierGenerator接口

  Hibernate内部还封装了JDBC JTA(Java Transaction API)和JNDI(Java Naming And Directory Interface) 其中 JDBC提供底层的数据访问操作 只要用户提供了相应的JDBC驱动程序 Hibernate可以访问任何一个数据库系统 JTA和JNDI使Hibernate能够和J EE应用服务器集成

      Hibernate的核心接口框图

  六   Hibernate的优缺点

  ( )优点

  a Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性 b Hibernate 的性能非常好 因为它是个轻量级框架 映射的灵活性很出色 c 它支持各种关系数据库 从一对一到多对多的各种复杂关系

  ( )缺点

lishixinzhi/Article/program/Java/ky/201311/28756

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式