国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      對(duì)象關(guān)系映射方法、裝置及處理器的制造方法

      文檔序號(hào):8922593閱讀:499來(lái)源:國(guó)知局
      對(duì)象關(guān)系映射方法、裝置及處理器的制造方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種對(duì)象關(guān)系映射方法、裝置及處理器。
      【背景技術(shù)】
      [0002] 在軟件工程中,經(jīng)常需要將數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫(kù)中,以便進(jìn)行應(yīng)用訪問(wèn)。而隨著 信息系統(tǒng)的發(fā)展,面向?qū)ο蟮拈_(kāi)發(fā)思想得到廣泛運(yùn)用,從而帶來(lái)了關(guān)系型數(shù)據(jù)與對(duì)象數(shù)據(jù) 的轉(zhuǎn)換需求問(wèn)題。
      [0003] 關(guān)系型數(shù)據(jù)與對(duì)象數(shù)據(jù)的轉(zhuǎn)換,通常稱(chēng)為對(duì)象關(guān)系映射(ObjectRelational Mapping,0RM)。為了實(shí)現(xiàn)對(duì)象關(guān)系的映射,現(xiàn)有技術(shù)中,采用了兩種方式。其中一種,是在 面向?qū)ο蟮某绦虼a中,直接嵌入數(shù)據(jù)庫(kù)語(yǔ)句,從而以硬編碼的方式,實(shí)現(xiàn)數(shù)據(jù)庫(kù)返回的結(jié) 果與對(duì)象數(shù)據(jù)的映射;第二種方式,借助第三方框架,預(yù)先建立對(duì)象與關(guān)系數(shù)據(jù)間完整的映 射關(guān)系,根據(jù)所述映射關(guān)系實(shí)現(xiàn)映射。
      [0004] 但是,發(fā)明人在本申請(qǐng)的研究過(guò)程中發(fā)現(xiàn),采用現(xiàn)有技術(shù)進(jìn)行0RM映射時(shí),還存在 一定的問(wèn)題,例如,采用第一種方式進(jìn)行0RM映射時(shí),只能應(yīng)用于簡(jiǎn)單的數(shù)據(jù)模型中,在數(shù) 據(jù)模型規(guī)模較大時(shí),會(huì)導(dǎo)致編碼混亂,難以維護(hù);采用第二種方式進(jìn)行0RM映射時(shí),針對(duì)每 次的復(fù)雜查詢需求,都需要相應(yīng)的設(shè)置對(duì)象和關(guān)系數(shù)據(jù)的映射關(guān)系,靈活性較低,復(fù)用程度 差。

      【發(fā)明內(nèi)容】

      [0005] 有鑒于此,本發(fā)明的目的在于提供一種對(duì)象關(guān)系映射方法、裝置及處理器,用于解 決現(xiàn)有技術(shù)在進(jìn)行對(duì)象關(guān)系映射時(shí),第一種方法中存在的編碼混亂,難以維護(hù),第二種方法 中存在的靈活性較低,復(fù)用程度差的問(wèn)題,具體實(shí)施方案如下:
      [0006] -種對(duì)象關(guān)系映射方法,包括:
      [0007] 根據(jù)關(guān)系數(shù)據(jù)模型中的數(shù)據(jù)庫(kù)表的連接關(guān)系,以及待查詢的業(yè)務(wù)主題對(duì)應(yīng)的業(yè)務(wù) 模型中包含的數(shù)據(jù)庫(kù)表,構(gòu)建所述待查詢的業(yè)務(wù)主題對(duì)應(yīng)的數(shù)據(jù)關(guān)聯(lián)模型,其中,所述數(shù)據(jù) 關(guān)聯(lián)模型的節(jié)點(diǎn)為所述業(yè)務(wù)模型中定義的數(shù)據(jù)庫(kù)表的別名;
      [0008] 當(dāng)需要查詢數(shù)據(jù)庫(kù)表中的數(shù)據(jù)時(shí),接收數(shù)據(jù)庫(kù)操作語(yǔ)句和查詢參數(shù),所述數(shù)據(jù)庫(kù) 操作語(yǔ)句中包含當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的別名和字段,并通過(guò)所述數(shù)據(jù)關(guān)聯(lián)模型, 為所述當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的別名和字段建立相應(yīng)的表連接關(guān)系;
      [0009] 接收對(duì)象操作數(shù)據(jù),所述對(duì)象操作數(shù)據(jù)中包含當(dāng)前查詢需求對(duì)應(yīng)的類(lèi)名和類(lèi)的屬 性,并根據(jù)預(yù)設(shè)的映射文件和所述表連接關(guān)系,返回所述對(duì)象操作數(shù)據(jù)對(duì)應(yīng)的對(duì)象數(shù)據(jù),其 中,所述預(yù)設(shè)的映射文件包括:類(lèi)名和數(shù)據(jù)庫(kù)表的名稱(chēng)的映射關(guān)系、類(lèi)的屬性和數(shù)據(jù)庫(kù)表的 物理字段的映射關(guān)系。
      [0010] 優(yōu)選的,所述構(gòu)建所述待查詢的業(yè)務(wù)主題對(duì)應(yīng)的數(shù)據(jù)關(guān)聯(lián)模型,包括:
      [0011] 獲取所述業(yè)務(wù)模型中的數(shù)據(jù)庫(kù)表后,根據(jù)所述關(guān)系數(shù)據(jù)模型,判斷各個(gè)所述數(shù)據(jù) 庫(kù)表之間的關(guān)聯(lián)方式;
      [0012] 接收連通圖的配置文件,為具有關(guān)聯(lián)的所述數(shù)據(jù)庫(kù)表構(gòu)建相應(yīng)的連通圖,并獲取 與其他數(shù)據(jù)庫(kù)表沒(méi)有關(guān)聯(lián)的數(shù)據(jù)庫(kù)表,構(gòu)建相應(yīng)的數(shù)據(jù)關(guān)聯(lián)模型;
      [0013] 所述數(shù)據(jù)關(guān)聯(lián)模型中包括:具有關(guān)聯(lián)的數(shù)據(jù)庫(kù)表構(gòu)成的連通圖,和與其他數(shù)據(jù)庫(kù) 表沒(méi)有關(guān)聯(lián)的數(shù)據(jù)庫(kù)表。
      [0014] 優(yōu)選的,所述通過(guò)所述數(shù)據(jù)關(guān)聯(lián)模型,為所述當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的別 名建立相應(yīng)的表連接關(guān)系,包括:
      [0015] 根據(jù)所述數(shù)據(jù)關(guān)聯(lián)模型,從所述當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的別名中選取根節(jié) 點(diǎn),其中所述根節(jié)點(diǎn)為關(guān)聯(lián)其他數(shù)據(jù)庫(kù)表的別名最多的數(shù)據(jù)庫(kù)表;
      [0016] 通過(guò)所述數(shù)據(jù)關(guān)聯(lián)模型提供的關(guān)聯(lián)關(guān)系,獲取所述根節(jié)點(diǎn)到所述當(dāng)前查詢對(duì)應(yīng)的 各個(gè)數(shù)據(jù)庫(kù)表的別名的路徑;
      [0017] 將所述路徑兩兩合并,獲取最小連通子圖,并通過(guò)所述最小連通子圖指示的連接 關(guān)系,建立所述當(dāng)前查詢需求對(duì)應(yīng)的表連接關(guān)系。
      [0018] 優(yōu)選的,所述根據(jù)預(yù)設(shè)的映射文件和所述表連接關(guān)系,返回所述對(duì)象操作數(shù)據(jù)對(duì) 應(yīng)的對(duì)象數(shù)據(jù),包括:
      [0019] 根據(jù)所述數(shù)據(jù)庫(kù)操作語(yǔ)句和查詢參數(shù),獲取當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的別名 和物理字段,并根據(jù)所述表連接關(guān)系和所述預(yù)設(shè)的映射文件中數(shù)據(jù)表的別名與數(shù)據(jù)庫(kù)表名 稱(chēng)的對(duì)應(yīng)關(guān)系,獲取所述當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的數(shù)據(jù);
      [0020] 通過(guò)所述對(duì)象操作數(shù)據(jù),以及預(yù)設(shè)的映射文件中類(lèi)名與數(shù)據(jù)庫(kù)表的別名的對(duì)應(yīng)關(guān) 系、類(lèi)的屬性與數(shù)據(jù)庫(kù)表的物理字段的對(duì)應(yīng)關(guān)系,將所述當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的 數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的對(duì)象數(shù)據(jù)并返回。
      [0021] 優(yōu)選的,當(dāng)所述數(shù)據(jù)庫(kù)操作語(yǔ)句中包含的相應(yīng)的字段為當(dāng)前查詢需求對(duì)應(yīng)的邏輯 字段時(shí),所述獲取所述當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的物理字段,包括:
      [0022] 獲取所述數(shù)據(jù)庫(kù)操作語(yǔ)句中的邏輯字段;
      [0023] 根據(jù)預(yù)設(shè)的邏輯字段與物理字段的映射關(guān)系,獲取當(dāng)前查詢需求對(duì)應(yīng)的物理字 段。
      [0024] 相應(yīng)的,本發(fā)明還公開(kāi)了一種對(duì)象關(guān)系映射裝置,包括:
      [0025] 數(shù)據(jù)關(guān)聯(lián)模型構(gòu)建模塊,用于根據(jù)關(guān)系數(shù)據(jù)模型中的數(shù)據(jù)庫(kù)表的連接關(guān)系,以及 待查詢的業(yè)務(wù)主題對(duì)應(yīng)的業(yè)務(wù)模型中包含的數(shù)據(jù)庫(kù)表,構(gòu)建所述待查詢的業(yè)務(wù)主題對(duì)應(yīng) 的數(shù)據(jù)關(guān)聯(lián)模型,其中,所述數(shù)據(jù)關(guān)聯(lián)模型的節(jié)點(diǎn)為所述業(yè)務(wù)模型中定義的數(shù)據(jù)庫(kù)表的別 名;
      [0026] 表連接關(guān)系構(gòu)建模塊,用于當(dāng)需要查詢數(shù)據(jù)庫(kù)表中的數(shù)據(jù)時(shí),接收數(shù)據(jù)庫(kù)操作語(yǔ) 句和查詢參數(shù),所述數(shù)據(jù)庫(kù)操作語(yǔ)句中包含當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的別名和字段, 并通過(guò)所述數(shù)據(jù)關(guān)聯(lián)模型,為所述當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的別名和字段建立相應(yīng)的 表連接關(guān)系;
      [0027] 對(duì)象數(shù)據(jù)返回模塊,用于接收對(duì)象操作數(shù)據(jù),所述對(duì)象操作數(shù)據(jù)中包含當(dāng)前查詢 需求對(duì)應(yīng)的類(lèi)名和類(lèi)的屬性,并根據(jù)預(yù)設(shè)的映射文件和所述表連接關(guān)系,返回所述對(duì)象操 作數(shù)據(jù)對(duì)應(yīng)的對(duì)象數(shù)據(jù),其中,所述預(yù)設(shè)的映射文件包括:類(lèi)名和數(shù)據(jù)庫(kù)表的名稱(chēng)的映射關(guān) 系、類(lèi)的屬性和數(shù)據(jù)庫(kù)表的物理字段的映射關(guān)系。
      [0028] 優(yōu)選的,所述數(shù)據(jù)關(guān)聯(lián)模型構(gòu)建模塊包括:
      [0029] 判斷單元,用于獲取所述業(yè)務(wù)模型中的數(shù)據(jù)庫(kù)表后,根據(jù)所述關(guān)系數(shù)據(jù)模型,判斷 各個(gè)所述數(shù)據(jù)庫(kù)表之間的關(guān)聯(lián)方式;
      [0030] 構(gòu)建單元,用于接收連通圖的配置文件,為具有關(guān)聯(lián)的所述數(shù)據(jù)庫(kù)表構(gòu)建相應(yīng)的 連通圖,并獲取與其他數(shù)據(jù)庫(kù)表沒(méi)有關(guān)聯(lián)的數(shù)據(jù)庫(kù)表,構(gòu)建相應(yīng)的數(shù)據(jù)關(guān)聯(lián)模型;
      [0031] 所述數(shù)據(jù)關(guān)聯(lián)模型中包括:具有關(guān)聯(lián)的數(shù)據(jù)庫(kù)表構(gòu)成的連通圖,和與其他數(shù)據(jù)庫(kù) 表沒(méi)有關(guān)聯(lián)的數(shù)據(jù)庫(kù)表。
      [0032] 優(yōu)選的,所述表連接關(guān)系構(gòu)建模塊包括:
      [0033] 根節(jié)點(diǎn)獲取單元,用于根據(jù)所述數(shù)據(jù)關(guān)聯(lián)模型,從所述當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù) 庫(kù)表的別名中選取根節(jié)點(diǎn),其中所述根節(jié)點(diǎn)為關(guān)聯(lián)其他數(shù)據(jù)庫(kù)表的別名最多的數(shù)據(jù)庫(kù)表;[0034] 通過(guò)所述數(shù)據(jù)關(guān)聯(lián)模型提供的關(guān)聯(lián)關(guān)系,獲取所述根節(jié)點(diǎn)到所述當(dāng)前查詢對(duì)應(yīng)的 各個(gè)數(shù)據(jù)庫(kù)表的別名的路徑;
      [0035] 表連接構(gòu)建單元,用于將所述路徑兩兩合并,獲取最小連通子圖,并通過(guò)所述最小 連通子圖指示的連接關(guān)系,建立所述當(dāng)前查詢需求對(duì)應(yīng)的表連接關(guān)系。
      [0036] 優(yōu)選的,所述對(duì)象數(shù)據(jù)返回模塊包括:
      [0037] 數(shù)據(jù)庫(kù)表數(shù)據(jù)獲取單元,用于根據(jù)所述數(shù)據(jù)庫(kù)操作語(yǔ)句和查詢參數(shù),獲取當(dāng)前查 詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的別名和物理字段,并根據(jù)所述表連接關(guān)系和所述預(yù)設(shè)的映射文件 中數(shù)據(jù)表的別名與數(shù)據(jù)庫(kù)表名稱(chēng)的對(duì)應(yīng)關(guān)系,獲取所述當(dāng)前查詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的數(shù) 據(jù);
      [0038] 對(duì)象數(shù)據(jù)返回單元,用于通過(guò)所述對(duì)象操作數(shù)據(jù),以及預(yù)設(shè)的映射文件中類(lèi)名與 數(shù)據(jù)庫(kù)表的別名的對(duì)應(yīng)關(guān)系、類(lèi)的屬性與數(shù)據(jù)庫(kù)表的物理字段的對(duì)應(yīng)關(guān)系,將所述當(dāng)前查 詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的對(duì)象數(shù)據(jù)并返回。
      [0039] 優(yōu)選的,當(dāng)所述數(shù)據(jù)庫(kù)操作語(yǔ)句中包含的相應(yīng)的字段為邏輯字段時(shí),所述數(shù)據(jù)庫(kù) 表數(shù)據(jù)獲取單元包括:
      [0040] 邏輯字段獲取子單元,用于獲取所述數(shù)據(jù)庫(kù)操作語(yǔ)句中的邏輯字段;
      [0041] 物理字段確定子單元,用于根據(jù)預(yù)設(shè)的邏輯字段與物理字段的映射關(guān)系,獲取當(dāng) 前查詢需求對(duì)應(yīng)的物理字段。
      [0042] 相應(yīng)的,本發(fā)明還公開(kāi)了一種處理器,所述處理器中集成有如上所述的對(duì)象關(guān)系 映射裝置。
      [0043] 本申請(qǐng)公開(kāi)了一種對(duì)象關(guān)系映射方法、裝置和處理器,該方法中,首先根據(jù)關(guān)系數(shù) 據(jù)模型中提供的數(shù)據(jù)庫(kù)表的連接關(guān)系,以及待查詢的業(yè)務(wù)主題對(duì)應(yīng)的業(yè)務(wù)模型中包含的數(shù) 據(jù)庫(kù)表,構(gòu)建待查詢的業(yè)務(wù)主題對(duì)應(yīng)的數(shù)據(jù)關(guān)聯(lián)模型;然后,當(dāng)需要查詢數(shù)據(jù)庫(kù)表中的數(shù)據(jù) 時(shí),接收數(shù)據(jù)庫(kù)操作語(yǔ)句,根據(jù)所述數(shù)據(jù)庫(kù)操作語(yǔ)句和構(gòu)建的數(shù)據(jù)關(guān)聯(lián)模型,為所述當(dāng)前查 詢需求對(duì)應(yīng)的數(shù)據(jù)庫(kù)表的別名和字段建立相應(yīng)的表連接關(guān)系;最后在獲取對(duì)象
      當(dāng)前第1頁(yè)1 2 3 4 5 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1