基于对象关系映射的数据持久层框架的改进设计与实现

被引量 : 0次 | 上传用户:boge09
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机的出现对人类来说具有着划时代的意义,计算机拥有高速的计算能力,在完成精确任务和批量计算方面比人类更稳定,成为了辅助科技进步的强力工具。随着永久储存介质(如磁盘等)的出现,使计算机又拥有了人类无法企及的“记忆能力”。如何管理、使用计算机的“记忆能力”呢?数据库技术应运而生。有了数据库,我们可以将数据从计算机内存保存到其他永久储存设备中以便于日后的查询、修改,这也就是所谓的数据持久化。数据库技术经过几代的发展,目前最成熟和应用最广泛的是关系型数据库,它是从数学模型发展起来的,用严格的数学逻辑和方法管理数据,拥有成熟、可靠、高效的数据操控能力。但不幸的是,数据库的发展并没能和软件技术的发展相匹配。随着软件工工程技术的发展,面向对象的设计、开发方法已经是软件生产的主流技术。但由于关系型数据库是不面向对象的,这使得数据在计算机系统中不得不以两种形式存在,在业务系统的内存中,数据表现为对象,在数据库中表现为关系数据。内存中的对象存在着关联和继承等关系,而数据库中无法表现多对多关联和继承关系。在面向对象数据库技术可以成熟应用之前,为了能够把对象数据持久化到关系数据库中,出现了关系-对象映射(Object-RelationgMapping简称ORM)思想和技术。在JAVA领域,通过JDBC编程来访问数据库是传统的做法,这种做法是最原始、最直接的。JDBC的数据库操作是基于行集的,虽然它有着高效的运行效率,却必须在JAVA程序中嵌套大量的SQL语句,应用程序担负着繁重的操控数据的工作,并使得项目难以维护。虽然根据MVC的思想可以通过JDBC编程来开发单独的持久层,封装对数据库的操作,提供统一的接口,供业务层使用。但这要求对JDBC有很高的专业知识,在项目组织中,不得不抽出最好的设计、开发人员专门进行持久层的设计开发,在业务逻辑和数据持久化方案之间艰难的调和项目组的开发资源,使得有限的人力不能专注于业务逻辑的研究,往往造成项目开发中顾此失彼。而且由于数据库结构的不同,每次开发的持久层无法直接重复使用,使得程序复用变得困难,每次都要开发专用却又功能相似的持久层程序,使得项目开发陷入重复工作和低效率之中。庞大的持久层代码随着项目复杂度的增加,也会变得越来越难以维护,假设项目组当初开发持久层的人员中途撤出,其他人员面对一个充满了sq1语句和数据操作逻辑的持久层,很难在短时间内进行有效的维护。幸运的是,基于ORM思想的持久层框架为我们解决上述问题。ORM是一种描绘对象与关系数据相互转换并持久化对象数据的原则思想,基于它的软件框架即为ORM框架,现在有许多ORM持久化框架可供选择,比如EJB、Hibernate、IBATIS、TopLink、OJB等等,他们承担了对象数据持久化的主要工作,不但可以自动将对象与关系数据进行对应(当然这需要一些前期配置策略),更能自动产生sq1语句,大大减少了应用系统持久层的代码量,同时也就大大减轻了开发人员的工作量。他们有些是商业性的,有些则是非商业的。其中非商业的Hibernate是目前最成熟和使用最广泛的ORM框架。它之所以能够流行,要归功于以下的优势:1.它是开源的。开发者可根据需要研究其源代码,定制自己的功能。2.它在所有ORM框架中拥有最详细的文档,使得研究和使用更方便。3.仅对JDBC做了轻量级的封装,如有必要,开发者可以绕过它,直接使用JDBC。4.具有良好的可扩展性,使其改进成为可能,并最终保持旺盛的生命力。5.它既适用于独立的JAVA程序,也适用于JAVA WEB应用,还可以与EJB集成,大大拓展了其使用范围。6.它可以与多种WEB服务器、应用服务器相集成,并适用于目前几乎所有的主流数据库。本文首先探讨ORM框架产生原因以及它的基本思想和原理,在研究与之相关的面向对象、持久化、持久层、DAO、MDA的理论思想以及目前流行的ORM框架的基础上,分析了其主要优点,也总结出其存在的三个主要缺陷。1.由于面向对象技术强制用户使用对象来代表关系型数据,这会导致大量的冗余数据存放于内存中,这些冗余数据并不参与当前的事务处理,并在生命周期结束的时候被析构函数或者垃圾收集器释放。2.复杂的映射和关联管理,使ORM对系统性能造成了较大的影响。在ORM系统中,对象之间通常通过对象引用和各种集合属性将对象相互关联起来,组成更加复杂的复合对象。应用程序同通过逐个访问成员对象来完成对这些复合对象的访问。这种在多个成员对象之间的导航操作导致了客户端和后端数据库系统之间的获取操作大幅度增加,从而导致了严重的性能问题。3.ORM使用配置文件和注释来设置映射关系和对象对应,并没有充分利用类型元数据信息(metadata),给系统开发和维护带来了额外的成本。针对以上三个主要缺陷,本文从查询、缓存技术、缓存预取算法、配置方式改进三个方面提出改进的方案,以达到减少应用系统内存占用、提高ORM框架缓存命中率和更为简洁、方便配置、维护的ORM框架的目的。
其他文献
目的:急性肾损伤(acute kidney injury,AKI)为临床常见的急危重症,若不能早期诊断、及时处理,常会造成不可逆的肾脏损害。急性肾损伤是一个多因素参与的病理生理过程,其发病
本文从理论、教学实践运用及局限性等角度对英语教学中英语歌曲的运用进行了简要的阐述和分析,并结合教学进行实践,从而说明在英语教学中使用英语歌曲教学是一种极为有效的教
电子档案依靠计算机提供访问读/存和利用,同时通过网络传输数据为各类工作的信息化发展提供方便,快捷,高效的服务。但是,电子档案和纸质档案不同的是,它是利用计算机等现代化
本文探讨了观察中主体与客体的相互关系这个科学认识论的重要问题。文章认为自近代科学诞生以来,在这个问题上有两大流派。一派是以近代哲学家培根为代表提出的“纯观察”方
针对水情自动测报系统运行环境和特点,分析了影响遥测站功耗的主要因素,详细阐述了器件选型、电源控制、远程通信、软件编程等关键环节进行低功耗设计的策略与实现方法。据此
为保障丰满新老水调系统平滑过渡,在分析平滑过渡难点及其必要性的基础上,按照信息采集、历史数据、业务报送三个类别分层次逐步完成了系统切换,实践证明切换策略可行,有效地
片上网络(NoC:Network-on-Chip)技术已成为近年来国内外学者研究的热点。对于应用于复杂系统的NoC,网络中各IP核行使的功能不同,使得各链路对带宽的需求也不一样,同时链路带宽对N
在现代科学技术高速、迅猛发展的今天,大规模的集成电路正向着微型化和高速化的趋势发展,这就要求其要有更大的运行速度和更高的集成度,但同时芯片内部也会在瞬间产生极大的热量
<正>人类为每一类社会活动都营造出一种场景。比如,世界上无论哪种宗教,其设立的活动场所都肃穆威严,这是为了让教徒产生敬畏感;比如,全球各地的政权部门大多高大宏伟,这是为