關聯

一般而言,轉換程序轉換關聯的方式和 UML 至 Java 轉換一樣:它會將端點屬性轉換成 Java 內容。

如果關聯中的某個端點為具備 <<Entity>>、 <<Service>> 或 <<MessageProcessor>> 造型的類別, 則轉換程序不會轉換該端點。轉換程序反而會在 metadata 目錄中的日誌檔內寫入一則訊息, 指出端點內容未轉換。不過,如果是具備 <<Entity>> 造型之兩個類別間的關聯, 且這兩個類別皆產生成 CMP 2.x Bean,則為例外。接著,轉換會將 UML 關聯轉換成 EJB 2.0 關係(亦稱為 儲存器管理的關係 (CMR))。下表說明關聯內容和 EJB 關係內容間的對映:

關聯內容

EJB 關係內容

End1

BeanA

End2

BeanB

End1 名稱

BeanB CMR 名稱

End2 名稱

BeanA CMR 名稱

End1 可導覽性

BeanB 可導覽性

End2 可導覽性

BeanA 可導覽性

  • End1 上限值 = 1
  • End1 上限值 = -1
  • BeanB 對應關係 = 1
  • BeanB 對應關係 = -1,BeanA CMR 類型 = java.lang.Collection
  • End2 上限值 = 1
  • End2 上限值 = -1
  • BeanA 對應關係 = 1
  • BeanA 對應關係 = -1,BeanB CMR 類型 = java.lang.Collection

下圖說明具備 <<Entity>> 造型的兩個 UML 類別。如果轉換將兩個 Entity 類別產生成  CMP 2.x Entity Bean,這兩個類別間的關聯會產生成 CMR。

在進行轉換後,部署描述子會有一個項目說明 AEntity 與 BEntity 間的 CMR。如您在下圖中所見, 專案的部署描述子可顯示兩個 CMP 2.x Entity Bean 間的關聯:

 

 

使用條款 | 意見
(C) Copyright IBM Corporation 2004. All Rights Reserved.