新增和移除 CMP 欄位

儲存器管理持續性 (CMP) 欄位或屬性定義必須由儲存器來處理其持續性管理作業的 Bean 類別中之變數。

當您開始建立 CMP Entity Bean 時,您可以選擇將持續性欄位或屬性新增至 Bean 中。

不過,如果您後來又決定要將 CMP 欄位新增至 Entity Bean 中,且可能將它定義成索引鍵欄位, 您就可以利用 EJB 部署描述子編輯器。比方說,如果您建立了名稱為 Customer 的 CMP Entity Bean,稍後,您可以將 CMP 欄位 email 新增至 Entity Bean 中。請利用 EJB 部署描述子編輯器的 Bean 頁面來新增和移除 CMP 欄位。

註: 如果在一或多個 CMP Bean 之間有關係存在, 只要改變某個 CMP Bean 的索引鍵形狀,都可能會重新產生相關的 CMP Bean。

如果要利用 EJB 部署描述子編輯器來新增 CMP 欄位,請執行下列動作:

  1. 在 EJB 部署描述子編輯器的 Bean 頁面中,選取 CMP Entity Bean。
  2. 按一下「CMP 欄位」區段旁的新增按鈕。這時會開啟「CMP 欄位」對話框,且會列出現行 CMP 欄位。 附註:如果 Enterprise Bean 是二進位碼(紅色),您就不能新增這個 Bean 的 CMP 欄位。
  3. 按一下新增
  4. 名稱欄位中,指定 CMP 欄位的名稱,確定它是 Entity Bean 類別的專屬名稱。
  5. 類型欄位中,輸入類型的名稱或從下拉清單中選取類型,來指定 CMP 欄位的類型。下拉清單中是包含 Java™ 初始類型的類型清單。 您也可以按一下瀏覽來選取在 EJB 專案類別路徑中的其他類型。如果您輸入了清單中之類型的類別名稱,就會顯示完整的名稱。
  6. 如果要使 CMP 欄位成為陣列,請選取陣列勾選框,再指定陣列的維數。
  7. 如果要指定 CMP 欄位的起始值,請在起始值欄位中輸入值。 2.0 CMP Bean 無法使用這個選項。 如果是簡式字串類型,這個值必須含括在雙引號中;例如:"string-type"。字元類型必須含括在單引號中;如 'c'。
    如果是陣列,值必須正確使用大括弧;例如:
    • {1,2,3},這是一維陣列。
    • {{1,2,3}, {4,5}},這是二維陣列。
  8. 如果要將 CMP 欄位定義為索引鍵欄位,請選取索引鍵欄位勾選框。如果是子項 Bean 的話,這就不會是選項。CMP Bean 需要有索引鍵欄位。 CMP 索引鍵欄位會加入 Bean 及索引鍵類別中。Home 介面的 create 方法會修改成併入這個新類型。
  9. 如果是 EJB 1.1 Bean,可用選項如下:
    • 如果要產生擷取和設定 CMP 欄位值的方法,請選取利用 getter 和 setter 方法存取勾選框。
    • 如果要將這些產生的方法提升至遠端介面,請選取將 getter 和 setter 方法提升至遠端介面。僅當您選取以 getter 和 setter 方法存取時,才能使用這個選項。
    • 如果要將 getter 方法指定成唯讀,請選取使 getter 為唯讀。這會通知 WebSphere® Application Server 儲存器,getter 方法不會更新 CMP Entity Bean 的任何 CMP 欄位。在呼叫 getter 方法之後,儲存器不會將 Bean 的資料寫回資料庫中,如此可以提升效能。 僅當您選取將 getter 和 setter 方法提升至遠端介面時,才能使用這個選項。
  10. 如果是 EJB 2.x Bean,且您不建立索引鍵欄位,可用選項如下:
    • 將 getter 和 setter 方法提升至遠端介面
    • 將 getter 和 setter 方法提升至本端介面
  11. 按一下套用,重複這些步驟來處理其他 CMP 欄位,再按一下關閉
  12. 按一下完成。這時會將新的 CMP 欄位新增至 Bean 定義中。
註: 如果要移除 CMP 欄位,請在 EJB 部署描述子編輯器的 Bean 頁面中選取欄位,再按一下移除按鈕。
相關概念
索引鍵類別和索引鍵欄位
相關工作
新增 Bean 的用戶端視圖或介面
使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.