- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从这个图可以看出,Hibernate通过配置文件和映射文件来实现与数据库的交互及实现对象关系映射(Object Relational Mapping,简称ORM),通过这种机制,将java程序中的对象自动持久化到关系数据库中,对持久化对象的改动都会反映到数据库中。其中配置文件主要用来配置好数据库连接的各种参数以及定义数据映射文件,通常以hibernate.cfg.xml或者perties形式出现;XML Mapping配置文件是数据库中表的数据映射文件,通常以*.hbm.xml形式出现。 下面我们来更详细地看一下Hibernate运行时体系结构方案。这种方案将应用层从底层的JDBC/JTA API中抽象出来,而让Hibernate来处理这些细节。 Hibernate体系结构方案 图中各个对象的定义如下: SessionFactory 针对单个数据库映射关系经过编译后的内存镜像,是线程安全的(不可变)。 它是生成Session的工厂,本身要用到ConnectionProvider。 该对象可以在进程或集群的级别上,为那些事务之间可以重用的数据提供可选的二级缓存。 Session 表示应用程序与持久储存层之间交互操作的一个单线程对象,此对象生存期很短。 其隐藏了JDBC连接,也是Transaction的工厂。 其会持有一个针对持久化对象的必选(第一级)缓存,在遍历对象图或者根据持久化标识查找对象时会用到。 持久的对象及其集合 带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。 这些对象可能是普通的JavaBeans/POJO,唯一特殊的是他们正与(仅仅一个)Session相关联。 一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用。 (例如,用作跟表示层打交道的数据传输对象。) 瞬态(transient)和脱管(detached)的对象及其集合 那些目前没有与session关联的持久化类实例。 他们可能是在被应用程序实例化后,尚未进行持久化的对象。 也可能是因为实例化他们的Session已经被关闭而脱离持久化的对象。 事务Transaction (可选的)应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。 它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开。 某些情况下,一个Session之内可能包含多个Transaction对象。 尽管是否使用该对象是可选的,但无论是使用底层的API还是使用Transaction对象,事务边界的开启与关闭是必不可少的。 ConnectionProvider (可选的)生成JDBC连接的工厂(同时也起到连接池的作用)。 它通过抽象将应用从底层的Datasource或DriverManager隔离开。 仅供开发者扩展/实现用,并不暴露给应用程序使用。 TransactionFactory (可选的)生成Transaction对象实例的工厂。 仅供开发者扩展/实现用,并不暴露给应用程序使用。 扩展接口 Hibernate提供了很多可选的扩展接口,你可以通过实现它们来定制你的持久层的行为。 6.4 小结 本章通过案例分析描述了设计师是如何通过质量属性来驱动系统设计的过程,根据质量属性选择相应的战术以及场景来进行分析。 * * * * * * * * * * * * * * * * * * * * * * * * * * 根据前期对需求的分析,决定采用基于SSH框架来构建此分布式的信息管理系统。SSH多层的构架模式,从上到下依次为视图层、控制器层、模型层、持久化层和数据库层,如下图所示: 框架讲解: 视图层:职责是提供控制器,将页面的请求委派给其他层进行处理,为显示提供业务数据模型。 控制层:职责是按预定的业务逻辑处理视图层提交的请求。 (1)?处理业务逻辑和业务校验 (2) 事务管理 (3) 管理业务层对象间的依赖关系 (4) 向表示层提供具体业务服务的实现类 模型层:职责是将模型的状态转交视图层,以提供页面给浏览器。 数据持久层:职责是建立持久化类及其属性与数据库中表及其字段的对应关系。提供简化SQL语句的机制。实现基本的数据操作(增、删、读、改) 数据库层:数据库的建立与管理。 规则(约束): (1)系统各层次及层内部子层次之间都不得跨层调用。 (2) 由bean传递模型状态。 (3)需要在表示层绑定到列表的数据采用基于关系的数据集传递。
您可能关注的文档
- 什么是互联网思维(授课版)讲述.ppt
- 什么是纪录片讲述.ppt
- 什么是CPI讲述.pptx
- 什么是结果思维讲述.ppt
- 什么是路怒症讲述.ppt
- 什么是土木工程讲述.ppt
- 什么是移动学习讲述.pptx
- 任务2__汽车汽车基础元件检测(保险)讲述.pptx
- 什么是点检仪讲述.pptx
- 保教知识与能力简答汇总讲解.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)