EBS OAF 開發中的實體關聯關係對象AO
(版權聲明,本人原創或者翻譯的文章如需轉載,如轉載用於個人學習,請註明出處;否則請與本人聯繫,違者必究)
關聯關係對象可以讓我們聲明式創建實體對象間的更新。在運行時,BC4J使用這些關係來協調關聯的對象。主要有兩種基本的關聯類型:
l 組合-一種強關聯關係,源實體對象擁有目標實體對象。換句話說,目標對象不能獨立於源對象之外而存在。比如,一個採購訂單的頭是由採購訂單行組成,而這些行在訂單頭上下文之外是沒有意義或者生命週期。
l 引用-一種弱關聯關係,源實體對象僅僅引用目標實體對象。比如,一個採購訂單頭引用一個供應商,但是供應商不論是否有一個採購訂單引用它都仍然存在。
爲你的所有實體對象根據需要創建組合關係對象並保證它們在運行時被合適的創建,初始化和管理。BC4J自動把組合作爲邏輯單元來看待,因此比如,一個採購訂單頭會被自動鎖住即使你僅僅對它的行做了修改。
爲所有你在運行時要更新或者實例化的實體對象創建引用關係。比如,在採購訂單頭和它的供應商之間創建關聯關係,如果當編輯採購訂單的時候你可以更新供應商的話,但是不在採購訂單和貨運條款間建立關聯。
聲明式實現
關於關聯嚮導中這裏沒有特殊描述的屬性的更多信息,可以參考JDeveloper文檔。
注意:當在所有BC4J嚮導中通過選擇鍵盤上的F1鍵來訪問上下文相關的幫助。
1. 在JDeveloper導航器,選擇你想創建關聯對象的BC4J包。
2. 從主菜單,選擇File->New來打開New Gallery.
3. 在Categories樹,展開Business Tier節點,然後選擇Business Componenets(BC4J).
4. 在Items列表中,選擇Association來打開Association Wizard。你也可以在BC4J包上右鍵單擊並選擇New Association Object來直接導航到Association Wizard.
5. 在Name頁面上(步驟1/4):
Ø 遵循OAFramework File / Directory / Package Structure標準來指定關聯的名稱。
Ø 確認你選擇了正確的BC4J包。
Ø 不要在繼承關聯字段輸入值,除非你確實要繼承你自己的一個關聯。
Ø 選擇下一步來繼續。
6. 在實體對象頁面(步驟2/4),指定關聯的基數(比如,是一個1對多的關係麼?)並像圖6展示的選擇源和目標連接屬性。選擇添加按鈕來創建連接(對於一個多鍵關係根據需要來重複添加)。選擇下一步兩次來繼續。
圖6:在實體對象(步驟2/4)頁面上選擇源和目標實體對象和屬性
7. 在關聯屬性頁面(步驟4/4):
Ø 爲源和目標對象根據需要檢查Expose Accessor選項(存儲器讓對象獲得關聯中對另一端對象的引用)。
Ø 如果目標對象不能獨立於源對象上下文存在時,選中組合關聯選項框。
注意:對於組合,通常要在目標對象上選中ExposeAccessor選項。可選的是,在你的代碼中根據需要爲源對象來啓用這個。
注意:使用Lock Top-Level Container選項來控制是否在修改保存前添加,移除或者修改一個組合的明細實體行應該爲組合實體加鎖
Ø 不要選擇其它任何頁面選項。
8. 選擇完成來保存你的關聯對象。BC4J創建了一個就像圖7展示的XML定義文件。
注意:你可以在應用導航器上通過簡單選擇關聯對象來快速參看潛在的關係。
圖7:JDeveloper應用導航器和結構面板展示一個選中的關聯對象。