[发明专利]对象查询方法、装置、计算机设备和存储介质有效
申请号: | 201811330726.6 | 申请日: | 2018-11-09 |
公开(公告)号: | CN109669951B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 郑政芳 | 申请(专利权)人: | 金蝶软件(中国)有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/25 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 方高明 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 对象 查询 方法 装置 计算机 设备 存储 介质 | ||
1.一种对象查询方法,所述方法包括:
获取原始OQL语句,确定所述原始OQL语句中的对象信息;所述原始OQL语句为原始的面向对象查询语句;
将所述原始OQL语句中的对象信息与领域模型的对象信息建立映射关系,所述领域模型是对领域内的实体对象建模的模型;
根据所述映射关系将所述原始OQL语句中的对象信息映射至所述领域模型中;
根据映射至所述领域模型中的所述原始OQL语句中的对象信息和分库路由配置,将所述原始OQL语句转换为各数据库查询的SQL语句,所述分库路由配置为查询所述领域模型的对象位置的配置。
2.根据权利要求1所述的方法,其特征在于,所述确定所述原始OQL语句中的对象信息的步骤包括:
分析所述原始OQL语句;
确定所述原始OQL语句中的对象和对应的属性。
3.根据权利要求1所述的方法,其特征在于,所述将所述原始OQL语句中的对象信息与领域模型的对象信息建立映射关系的步骤包括:
将所述原始OQL语句中的根对象与领域模型中的聚合根实体建立映射关系;
将所述原始OQL语句中根对象的属性与所述领域模型中聚合根实体的属性建立映射关系;
将所述原始OQL语句中的子对象与所述领域模型中的聚合根实体引用的实体对象建立映射关系;
将所述原始OQL语句中子对象的属性与所述领域模型中的聚合根实体引用的实体对象的属性建立映射关系。
4.根据权利要求3所述的方法,其特征在于,所述将所述原始OQL语句中的子对象与所述领域模型中的聚合根实体引用的实体对象建立映射关系的步骤包括:
将所述原始OQL语句中的不同子对象与所述领域模型中的聚合根实体引用的不同类型的实体对象分别建立对应的映射关系;
将所述原始OQL语句中根对象对子对象的引用和所述领域模型中的聚合根实体对实体对象的引用建立映射关系。
5.根据权利要求4所述的方法,其特征在于,所述将所述原始OQL语句中根对象对子对象的引用和所述领域模型中的聚合根实体对实体对象的引用建立映射关系的步骤包括:
确定所述原始OQL语句中的主键和外键;
将所述原始OQL语句中的主键和外键与所述领域模型中的主键和外键建立映射关系。
6.根据权利要求1所述的方法,其特征在于,所述根据所述映射关系和分库路由配置,将所述原始OQL语句转换为各数据库查询的SQL语句,所述分库路由配置为查询所述领域模型的对象位置的配置的步骤包括:
根据分库路由配置和所述领域模型中的聚合根实体生成SQL语句中的主表;
根据所述领域模型中聚合根实体的属性生成SQL语句中主表的列;
根据所述分库路由配置和所述领域模型中的聚合根实体引用的实体对象生成SQL语句中关联表;
根据所述领域模型中的聚合根实体引用的实体对象的属性生成SQL语句中关联表的属性。
7.根据权利要求6所述的方法,其特征在于,所述根据所述领域模型中的聚合根实体引用的实体对象生成SQL语句中关联表的步骤之后,还包括:
根据所述领域模型中的聚合根实体对实体对象的引用确定SQL语句中的主键和外键;
当所述领域模型中的聚合根实体对实体对象的引用关系是多对多时,在SQL语句中创建新表以确定多个主表与多个关联表的关联关系。
8.一种对象查询装置,其特征在于,所述装置包括:
确定模块,用于获取原始OQL语句,确定所述原始OQL语句中的对象信息;所述原始OQL语句为原始的面向对象查询语句;
映射模块,用于将所述原始OQL语句中的对象信息与领域模型的对象信息建立映射关系,所述领域模型是对领域内的实体对象建模的模型;根据所述映射关系将所述原始OQL语句中的对象信息映射至所述领域模型中;
生成模块,用于根据映射至所述领域模型中的所述原始OQL语句中的对象信息和分库路由配置,将所述原始OQL语句转换为各数据库查询的SQL语句,所述分库路由配置为查询所述领域模型的对象位置的配置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶软件(中国)有限公司,未经金蝶软件(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811330726.6/1.html,转载请声明来源钻瓜专利网。