[发明专利]支持运行时模型扩展的对象关系映射系统和方法有效

专利信息
申请号: 200810087972.3 申请日: 2008-03-28
公开(公告)号: CN101546259A 公开(公告)日: 2009-09-30
发明(设计)人: 杨洋;谢国彤;王晨;刘升平;曹锋 申请(专利权)人: 国际商业机器公司
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 中国国际贸易促进委员会专利商标事务所 代理人: 吴丽丽
地址: 美国*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 支持 运行 模型 扩展 对象 关系 映射 系统 方法
【说明书】:

技术领域

发明涉及对象关系映射(ORM)系统,具体地说,涉及支持 运行时模型扩展的对象关系映射系统和方法。

背景技术

随着面向对象的程序设计变为企业软件开发的范例,对象关系映 射(ORM)已成为一种越来越受欢迎的实现对象持久性的技术。在 面向对象的(OO)的程序设计中,数据管理任务一般是通过操纵对 象来实现的。然而,关系数据库例如DB2、Oracle只能存储和操纵关 系数据,这些关系数据被组织在表中。因此,为了将对象保存到数据 库中,程序员必须手动设计对象的关系数据库模式(schema)并把对象 转换成关系记录。对于比较小的对象模型而言,这可能比较容易。但 是在应用大规模对象模型的情况下,需要使用的对象模型越来越多, 为对象模型手工设计数据库会变得困难。

对象关系映射(ORM)被用于将面向对象的程序设计模型映射到 由Oracle、DB2、Sybase和其它关系数据库管理器(RDBMS)管理 的关系数据库模型。从程序员的角度看,ORM系统应当看起来象一 个永久的对象存储库。程序员只需生成对象并将它们传送到ORM系 统。ORM系统自动地将这些对象保存到关系数据库中。目前有很多 流行的ORM产品,例如Websphere Metadata Server(XMeta)、 Apache OJB、Hibernate、Oracle’s TopLink等。

下面参考图1介绍ORM系统的基本组成和工作原理。

图1示出了现有技术的ORM系统10的结构框图,它包括模型 注册模块11、对象关系(OR)映射模块12和关系数据库(RDB)13。 在ORM系统10以外还有代码生成器17和应用程序18。代码生成器 17用于识别面向对象的模型中的类和属性,根据识别结果生成应用程 序接口(API)并将生成的API传递给应用程序18。应用程序18利 用从代码生成器17传递来的API生成对象。关于代码生成器17和应 用程序18的操作是本领域的技术人员公知的,这里不再详细描述。

为了使用ORM系统10,用户需要将面向对象的模型注册到 ORM系统10。该系统10利用对象关系映射模块12产生适于已注册 的模型的关系数据库模式。然后,应用程序18可以将符合已注册模 型的对象串行送入ORM系统10。对象关系映射模块12把这些对象 自动翻译成SQL(结构化查询语言)语句。通过使用ORM系统10, 程序员可以以面向对象的方式将注意力集中于商业逻辑,而不需要花 费时间手动处理对象进行关系数据库翻译,这将大大减轻程序员的工 作负担。下面举例说明应用ORM系统的典型步骤。

(1)由设计人员根据所需的商业逻辑设计适于具体应用的面向 对象的模型,例如在一个机票预订系统中,可以声明一个类 “TicketOrder”,它包含例如三个属性:时间“Time”、客户姓名 “Name”、航班号“Flight”,当然在实际中可以包含更多的属性,例如 价格、航空公司名称、退票/改签等等,这里只是举例说明。当然,如 果模型已经存在,则可以跳过这个步骤。

(2)将步骤(1)中的数据模型分别输入到代码生成器17和 ORM系统10中的模型注册模块11,在模型注册模块11中注册该数 据模型并将其输入到对象关系映射模块12。对象关系映射模块12根 据数据模型产生关系数据库模式,这里的关系数据库模式例如是指在 关系数据库13中的表的结构。另一方面,如上所述,代码生成器17 根据面向对象的模型生成相应的API。

(3)对象关系映射模块12在步骤(2)中产生的关系数据库模式被 部署到关系数据库13中。

(4)应用程序18利用生成的API产生数据对象,对象关系映射 模块12使用SQL语言将该数据对象保存/加载到关系数据库13中。 在上述例子中,每次有一个客户提出机票预订请求,应用程序18就 生成一个数据对象,它含有与“Time”、“Name”、“Flight”相对应的三 个属性值。这个数据对象被保存到关系数据库13中,成为表的一个 条目。

以上例子可以参考下面的表,在该表中还附加了一个“ID”列, 这可以在生成关系数据库模式时由对象关系映射模块12自动加入。 当然,这一列也可以不存在。

类:TicketOrder

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810087972.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top