论文部分内容阅读
伴随着计算机技术的飞速发展,尤其是网络技术的迅猛革新,当今社会已被悄然送入信息时代,在信息时代,非常强调分布式企业计算平台的使用。在这类平台上,必须不惜任何代价保护数据(即对象实例),并使其永远持续存在,以便供以后使用,即使面临网络故障、内存泄漏和服务器崩溃等情况时,也是如此。因此,数据持久化技术也就成为了必不可少的一部分。
而实际上,在与软件开发息息相关的数据存储领域中,出于传统的应用以及为了方便的与之前遗留的系统能更好的继承的原因,关系数据库仍然是占据着主导地位。对象数据库虽然有所发展,但目前的市场上仍然缺乏通用的、成熟的面向对象的数据库产品,也就是说,对象数据还必须存储在关系数据库中。因此,随着面向对象(Obioct Oriented,OO)思想在程序设计领域主导地位的确立和关系型数据库(Relational Database Management System,RDBMS)的广泛应用,如何平滑的实现对象到关系数据库的存取已经成为业界的热点问题之一。由于关系数据理论和面向对象技术基于不同的理论基础,使得二者在协同工作时会出现“阻抗不匹配”的现象,因而迫切需要一种方法,使二者能够进行高效率的协同工作。
本文从分析对象数据库与关系数据库之间的“阻抗不匹配”问题入手,详细叙述了在实际的应用中对象数据库和关系数据库之间差异的产生根源以及在实现“对象/关系映射(Object Relational。Mapping,ORM)”过程中所面临的种种问题,在学习和借鉴前人设计、开发过程中的经验总结的基础上,针对这些问题提出了在不同情况下的解决方案。NHibernate作为Hibernate的继承,是Hibernate面向DotNet领域中对ORM的开源实现。本文还重点讨论了NHibcrnate的对象持久性体系结构、应用架构模型以及其具体的功能。同时根据其特点和相关运行机制,并结合实际工作中的经验,深入研究了NHibcrnate框架解决模型不匹配、实现对象持久化功能的内部机理。结合传统开发模式并对框架进行了有益的补充,克服了其自动化程度不高的缺点,在实际的项目实践中,也极大地提高了项目的开发效率。