[發明專利]一種對象查詢方法和裝置有效
| 申請號: | 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.szxzyx.cn/pat/books/200910087324.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種便盆潔具沖洗噴射閘閥
- 下一篇:布袋除塵器卸灰閥





