文档介绍:摘要在软件工程的各个阶段运用并体现面向对象的思想,已经成为软件设计开发的主旋律。在纯面向对象环境中,所有对象都是暂态的,一旦系统关闭将不复存在,这显然不能适应商业软件的开发要求。此外,关系数据库在存储技术中仍占统治地位,而关系模型与对象模型理论基础的不同导致了它们之间的阻抗不匹配(Impedance Mismatch),迫切需要一种方法使二者能够协同工作。对象/关系映射(Object/Relational Mapping,简称ORM)技术就是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中的技术。数据持久层是一层位于应用程序和数据存储之间,负责将应用程序中的对象持久化到数据存储的一种机制。它是解决数据持久性问题非常好的框架方案。考虑到数据持久层的研究现状,本文对目前流行的数据持久层框架 Hibernate的原理与机制进行了分析。Hibernate作为一个整体解决方案,引入它的项目基本上只使用了它的部分功能,对于它的高级功能却很少使用。这引起了资源的浪费,也对系统性能造成了不必要的影响。本文从对象/关系映射技术存在的必要性出发,分析了对象/关系映射技术的实现原理,以及和其他数据持久化技术相比它的优势所在。研究了对象/关系映射的各种映射策略,比较了不同映射策略在性能、空间消耗、灵活性等方面的表现,讨论了各种情况下映射策略的选择,并对几种映射策略进行了实现。然后应用分层的思想设计了一个轻量级的基于对象/关系映射技术的数据持久层, 给出了高层和中层的设计类图,描述了设计步骤及实现方法。最后在武汉理工大学为武汉水务集团开发的“人力资源管理系统一中进行了应用实现。实际应用情况表明,该数据持久层占用资源少,启动时间快,并能够有效地降低持久层和应用程序之间的耦合,取得较高的灵活性和可重用性。关键词:面向对象技术,关系数据库,ORM,数据持久层 Abstract Applying object-oriented technology in the various phases of software engineering e one ofthemost essful practices insoftwaredevelopment. Itisnoticedthatobjects aretransientinruntime,which means thatthey will 110longer exist once thesystem isclosed,This obviously Can not meet the needs ofmost ,relational database iSstill adominant solutionindata ,there isanimpedance mismatch when applyingthem together sincethe relational model and the0bject model arebased on different away toenable thetwo to work together isurgently Object/Relational Mapping retains Java objectsautomatically in arelationship databaseby the use ofmetadata which maps 0bjects layer is alayer betweentheapplication and isresponsible forretaining thepersistentobjects ,this framework provides a900d solution fortheproblem ofdatapersistent. Considering theresearch status quo ofpersistence layer,the thesisanalyses the principle and mechanisms ofHibernate,which istheprevalence datapersistence layer points outthattheexistingprojects,which USeS Hibernate as awhole solution,onl