新增 Entity Bean 2.x 的 Bean 層級存取目的

在 EJB 2.x 規格中,EJB 2.x 實體存取目的置換了 EJB 1.x 存取目的和 EJB 1.x 隔離層次。

有兩個一般方法,將存取目的新增至 Enterprise Bean 2.x:
  • 預設存取目的 (Bean 層級):在大部分情況下,應該使用這個預設方法,根據 Bean 層級處理存取目的。
  • 方法層級存取目的:只在進階狀況下,才應該使用這個進階方法,根據方法處理存取目的。

若要將預設存取目的 (Bean 層級) 新增至 Enterprise Bean 2.x:

  1. 切換至 J2EE 視景。
  2. 在「專案瀏覽器」中,按一下 EJB 專案 > 專案 > ejbModule > META-INF > ejb-jar.xml 這時會開啟「EJB 部署描述子」視窗。
  3. 在編輯器的存取頁面上,選取實體 2.x 預設存取目的 (Bean 層級) 區段下的一或多個 Bean,再按一下新增按鈕。 這時會開啟新增存取目的精靈。
  4. 存取目的名稱欄位中,從下拉清單選取存取目的類型。
  5. 選用項目:輸入新存取目的說明。
  6. 如果要設定持續性,請選取持續性選項勾選框。 有三個持續性選項:

    • 如果您選取驗證唯讀資料勾選框, 請從下拉清單中選取讀取-讀取 (read-read) 一致性檢查的選項。 有三個選項:
      • NONE 不執行讀取-讀取檢查。
      • AT_TRAN_BEGIN 在 ejbLoad 期間,如果資料來自快取,則檢查資料庫, 確定自前次載入後沒有變更 Bean 資料 (在存取目的並行控制屬性適當鎖定下)。
      • AT_TRAN_END 在交易結束時,如果沒有變更 Bean,並且現行交易沒有載入它,則檢查資料庫, 確定自前次載入後沒有變更 Bean 資料 (在存取目的並行控制屬性適當鎖定下)。如果已變更資料,則交易失敗。
      如需讀取-讀取一致性檢查的範例,請參閱範例:讀取-讀取一致性檢查

    • 如果您選取局部作業勾選框,請從下拉清單中選取局部作業的選項。 有兩個選項:
      • NONE 這是預設值,其中資料庫 CMP Bean 的所有持續性屬性都儲存至資料庫, 即使可能只變更持續性屬性欄位的子集也是一樣。
      • UPDATE_ONLY 限制只有已修改的 CMP Bean 持續性屬性,才會更新資料庫。
      如需局部作業的詳細資料,請參閱儲存器管理持續性的局部作業

    • 如果您選取延遲作業勾選框,請從下拉清單中選取延遲作業的選項。 有三個選項:
      • NONE 不延遲。
      • CREATE_ONLY 只延遲 ejbCreate 指令,直到下次發生 ejbStore 時,才在資料庫中建立列。
      • ALL 延遲所有的 ejbCreate、ejbStore 和 ejbRemove 指令, 直到需要沖寫時,這可能是在 finder 方法之前,或在交易完成之前。
      如需延遲作業的相關資訊,請參閱建立儲存器管理持續性的延遲作業

  7. 批次作業使用 JDBC 批次指令,在這個特定 Enterprise Bean 所連接的後端資料庫中,插入、更新或刪除列。如需批次作業的相關資訊,請參閱儲存器管理持續性的批次指令。若要選取批次作業:
    1. 延遲作業中選取 ALL (您必須選取 ALL,才能使用批次選項)。
    2. 勾選批次框。
  8. 按一下完成
這時會新增存取目的。若要移除存取目的,請選取它,再按一下移除按鈕。
使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.