[发明专利]一种对象查询方法和装置有效
申请号: | 200910087324.2 | 申请日: | 2009-06-23 |
公开(公告)号: | CN101582079A | 公开(公告)日: | 2009-11-18 |
发明(设计)人: | 黄海峰 | 申请(专利权)人: | 用友软件股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市隆安律师事务所 | 代理人: | 权鲜枝 |
地址: | 100094北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 对象 查询 方法 装置 | ||
1.一种对象查询方法,其特征在于,该方法包括:
步骤A,根据业务需求建立元数据模型;生成所述元数据模型对应的对象代码;
步骤B,根据所述对象代码和预定义的持久化引擎查询接口执行查询操作;
所述元数据模型中包含一个以上的数据传输对象DTO;
所述步骤A中根据业务需求建立元数据模型包括:
步骤A1,若当前存在与所述业务需求对应的数据库,则根据所述业务需求从数据库中拖拽出一个以上的DTO,根据已设置的DTO关联关系信息建立包含拖拽出的DTO的元数据模型;
步骤A2,若当前不存在与所述业务需求对应的数据库,根据所述业务需求配置DTO;根据配置的DTO中的属性字段建立包含该配置的DTO的元数据模型;
所述步骤B包括:
步骤B1,将所述对象代码编译成业务对象库;其中,该业务对象库包含一个以上的业务对象;
步骤B2,在业务逻辑代码中根据当前需求使用对应的业务对象编写对象查询语言OQL语句,将该OQL语句作为预定义的持久化引擎查询接口的参数实现查询操作。
2.根据权利要求1所述的方法,其特征在于,在步骤A2完成建立元数据模型后,进一步包括:根据该元数据模型生成对应的数据库。
3.根据权利要求1所述的方法,其特征在于,所述步骤B2中将该OQL语句作为预定义的持久化引擎查询接口的参数实现查询操作包括:
步骤B21,预定义的持久化引擎在所述持久化引擎查询接口上接收到查询触发后,判断当前是否缓存了需要查询的业务数据,如果是,执行步骤B22;否则,执行步骤B23;
步骤B22,通过深度克隆的方式提供该业务数据;
步骤B23,从已缓存的元数据中查找要使用的业务对象对应的元数据,如果查找到,根据该查找到的元数据去数据库中获取并提供相应的业务数据。
4.一种对象查询装置,其特征在于,该装置包括:数据设计模块和持久化引擎模块;其中,
所述数据设计模块用于根据业务需求建立元数据模型;以及生成所述元数据模型对应的对象代码;
所述持久化引擎模块用于根据所述对象代码和预定义的持久化引擎查询接口执行查询操作;
所述元数据模型中包含一个以上的数据传输对象DTO;
所述数据设计模块包括:
判断单元,用于判断当前是否存在与所述业务需求对应的数据库;
第一模型生成单元,用于当所述判断单元判断出当前存在与所述业务需求对应的数据库时,则根据所述业务需求从数据库中拖拽出一个以上的DTO,根据已设置的DTO关联关系信息建立包含拖拽出的DTO的元数据模型;
第二模型生成单元,用于当所述判断单元判断出当前不存在与所述业务需求对应的数据库时,根据所述业务需求配置DTO;根据配置的DTO中的属性字段建立包含该配置的DTO的元数据模型;
所述持久化引擎模块包括:
编译单元,用于将所述对象代码编译成业务对象库;其中,该业务对象库包含一个以上的业务对象;
查询单元,用于在业务逻辑代码中根据当前需求使用所述编译单元编译出的业务对象库中对应的业务对象编写对象查询语言OQL语句,将该OQL语句作为预定义的持久化引擎查询接口的参数实现查询操作。
5.根据权利要求4所述的装置,其特征在于,所述第二模型生成单元完成建立元数据模型后,进一步根据该元数据模型生成数据库。
6.根据权利要求4所述的装置,其特征在于,所述查询单元在接收到查询触发后,
若当前缓存方式为业务数据缓存,则判断当前是否缓存了需要查询的业务数据,如果是,将缓存中存储的业务数据通过深度克隆的方式提供;否则,从已缓存的元数据中查找要使用的业务对象对应的元数据,如果查找到,根据该查找到的元数据去数据库中获取并提供相应的业务数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910087324.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便盆洁具冲洗喷射闸阀
- 下一篇:布袋除尘器卸灰阀