部分操作では 次の 2 つの値を選択することができます: NONE または UPDATE_ONLY。 部分操作のデフォルト設定は NONE です。パーシスタント属性フィールドの 1 つのサブセットのみが変更されても、データベースへの CMP Bean のパーシスタント属性が、すべてそのデータベースに保管されます。 部分操作の UPDATE_ONLY オプションは、データベースへの更新を、修正された CMP Bean のパーシスタント属性のみに制限します。Bean の setter メソッドは、対応する CMP 属性の修正が行われたかどうかを判別します。この修正は、変更されている実際の値に基づくものではありません。すなわち、setter メソッドが呼び出され、古い値と新しい値が同じである場合、CMP 属性はダーティーであると考えられます。
Bean 用に構成済みのアクセス・インテント・ポリシーの Bean レベルで、部分操作をパーシスタント・オプションとして指定することができます。 部分操作を指定する方法の詳細については、 エンティティー Bean 2.x への Bean レベル・アクセス・インテントの追加を参照してください。
機能の利点
パフォーマンスの利点
部分更新オプションは、次のパフォーマンス上の利点が得られるように設計されています。
パフォーマンスへの悪影響
部分更新は、パフォーマンスの向上を図るために設計されたものですが、パフォーマンスに悪影響を与えることもあります。 部分更新の使用を検討する場合、次の要因も考慮してください。
server.xml ファイルで設定されている Java™ Virtual Machine (JVM) プロパティー、-Dcom.ibm.ws.pm.grouppartialupdate=true を使用して、類似する部分更新クエリーをバッチ更新へグループ化することができますが、これはトランザクションの部分クエリーが、ほぼ常時同じ型である場合にのみ役立ちます。 次の選択肢のなかから、どれを使用すれば最良のパフォーマンスを得られるか判別する必要があります。 バッチ更新のみ使用、部分更新のみ使用、または両方を使用 (grouppartialupdate フラグを true に設定する場合)。
制約事項