對於 EJB 2.x 儲存器管理持續性 (CMP) Entity Bean,您可以使用局部作業做為持續性選項, 指定要如何更新資料庫 CMP Bean 的持續性屬性。
您可以選取局部作業的兩個值:NONE 或 UPDATE_ONLY。 局部作業的預設值是 NONE,其中資料庫 CMP Bean 的所有持續性屬性都儲存至資料庫, 即使可能只變更持續性屬性欄位的子集也是一樣。 局部作業的 UPDATE_ONLY 選項則限制只有已修改的 CMP Bean 持續性屬性,才會更新資料庫。Bean 上的 setter 方法決定相對應的 CMP 屬性是否已修改。這些修改不是根據實際變更的值。換句話說,如果已呼叫 setter 方法,但新舊值維持相同, CMP 屬性就視為變動過。
在配置給 Bean 的存取目的原則中,於 Bean 層級,您可以指定局部作業做為持續性選項。如需如何指定局部作業的詳細資料, 請參閱主題新增 Entity Bean 2.x 的 Bean 層級存取目的。
功能上的好處
效能上的好處
使用局部更新,有下列效能方面的好處:
效能的負面影響
雖然局部更新會提高效能,但也可能會負面影響效能。要使用局部更新時,同時請考慮下列因素:
雖然 Java™ 虛擬機器 (JVM) 內容 -Dcom.ibm.ws.pm.grouppartialupdate=true (在 server.xml 檔案中設定) 可用來將類似局部更新查詢分組成批次更新, 但只在交易中的局部查詢大致有相同形式時,這才有幫助。您必須判斷哪個選項提供其使用的最佳效能: 僅批次更新、僅局部更新或使用兩者 (當 grouppartialupdate 旗標設為 true 時)。
限制