[发明专利]一种基于对象数据模型的对象关系映射方法及装置在审
申请号: | 201710395918.4 | 申请日: | 2017-05-31 |
公开(公告)号: | CN108984541A | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | 陈瑞 | 申请(专利权)人: | 陈瑞 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 430000 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 对象数据模型 对象关系 映射 关系存储 关联 构建 计算机技术领域 对象保存 对象系统 关系系统 描述对象 系统查询 形式模型 引用对象 映射规则 元数据 加载 创建 | ||
1.一种基于对象数据模型的对象关系映射方法,以描述对象系统及其与关系系统映射规则的元数据体系为基础,其特征在于,具体方法步骤如下:
构建对象系统形式模型,并命名为对象数据模型;
将对象保存到关系存储系统;
从关系存储系统查询对象;
创建关联端对象;
加载关联引用对象。
2.如权利要求1所述的对象数据模型,基特征在于:
使用一组具有特定含义的数据项描述对象系统中的实体对象及其内部的属性和关联指针,说明实体对象与关系映射的规则;
描述对象系统中的链及其各端,说明链与关系映射的规则;
依据链在对象系统中是否有相应的关联对象,将链分为显式关联和隐式关联两种,对有关联对象的链进一步对其属性进行描述;
依据链和其端对象是否与同一关系映射,将链的映射分成伴随映射和独立映射两种,并对两种映射执行不同的映射逻辑;
定义构造器规范,只要符合此规范的程序块均可被所述模型识别,供ORM程序调用以创建对象;
定义取值器规范,只要符合此规范的程序块均可被所述模型识别,供ORM程序调用以获取对象属性值、关联引用对象或关联端对象;
定义设值器规范,只要符合此规范的程序块均可被所述模型识别,供ORM程序调用以设置对象属性值、关联引用对象或关联端对象。
3.如权利要求1所述的将对象保存到关系存储系统子方法,其特征在于包含以下步骤:
接受业务系统建立的特定于该业务系统的对象系统的对象数据模型;
根据要保存对象的类型从所述模型中查找对应的实体型或关联型(下称目标型);
如果目标型为实体型,选出关联型为伴随关联且左端为伴随端的关联引用,使用其取值器取出关联引用对象,将这些对象存入容器A,(特别地,如果上述关联为隐式关联,则首先创建隐式关联对象,将此隐式关联对象放入容器A);
生成对象保存SQL;
使用各属性的取值器从对象获取属性值,分别作为相应SQL语句参数的取值,(特别地,如果要获取其值的属性位于关联端对象,首先使用该关联端的取值器获取该关联端对象,然后再从该关联端对象中获取属性值);
执行所述SQL语句。
4.如权利要求1所述的从关系存储系统查询对象子方法,其特征在于包含以下步骤:
接受业务系统建立的特定于该业务系统的对象系统的对象数据模型;
确定目标型,即根据要查询的对象的类型名从所述模型中查找对应的实体型或关联型;
接受用户输入的查询条件;
生成对象查询SQL;
执行所述SQL语句,得到查询结果集;
遍历所述查询结果集各行,每一行创建一个对象,如果所建对象为关联对象,为其每一个关联端创建关联端对象,如果所建对象为实体对象,为其每一个关联引用加载关联引用对象。
5.如权利要求4所述的创建关联端对象,其特征在于包含以下步骤:
接收调用方传入的查询结果集和要为其创建对象的关联端(目标关联端);
使用目标关联端的实体型的构造器创建对象;
遍历上述实体型的各属性,对每一属性使用其设值器为相应的对象属性设值,该值来源于所述查询结果集当前行;
遍历上述实体型的各关联引用,对每一关联引用加载关联引用对象;
使用目标关联端的设值器,将所建对象设置为该关联端的值。
6.如权利要求4或5所述的加载关联引用对象,其特征在于,包含以下步骤:
确定要从关系存储系统查询的目标型(实体型或关联型);
生成关联引用加载SQL;
使用相应属性的取值器获取上述SQL语句各参数的值;
执行权利要求4所述的从关系存储系统查询对象子方法的最后两步;
使用所述关联引用的设值器,将上一步创建的对象设置为关联引用的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陈瑞,未经陈瑞许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710395918.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种辅助翻译的方法及辅助翻译系统
- 下一篇:分布式数据采集方法和系统