论文部分内容阅读
目前,大多数商业系统通常都采用面向对象与关系数据库相结合的方式,这会引出对象模型和关系模型之间的不匹配问题。对象模型基于耦合、内聚和封装等软件工程的概念,而关系模型则基于数学理论,特别是集合论。在应用上使用面向对象模型、在数据存储上使用关系模型就存在这样的问题:对象模型通过对象之间的关系遍历对象,而关系模型则是复制数据来连接表中的行。另一方面,面向对象模型的理想存储机制——面向对象数据库还不成熟,这也是开发中选择关系数据库的一个重要原因。因此,研究如何在应用开发过程中进行对象-关系转换、有效地集成面向对象应用和关系数据库就显得格外重要。
实现这种对象-关系转换的核心的问题是对象持久化,即把对象由内存中的瞬态对象变成数据库中的持久对象。目前通过直接内嵌SQL语句或者数据访问类的方法可以解决两种模型不匹配的问题,但却使得应用程序的可维护性降低,数据库发生变动就涉及到大量修改应用程序中的数据访问代码。因此,本文针对这一问题展开了研究,并提出了通过数据持久层机制解决该问题的可行性方案。
本文主要针对数据持久层的设计与实现技术展开研究。深入研究了J2EE的体系结构特征及数据持久层的实现技术。通过分析和对比当前比较流行的诸多数据持久层的典型技术方案的优缺点,提出了采用对象持久层框架iBATIS作为数据持久层的解决方案。对象持久层框架能够封装关系数据库的访问、实现对象的透明存储,同时还具有缓存和延迟加载等性能优化的能力,对面向对象应用而言是一种轻量又高效的数据库中间件。