部分オペレーションに選択できる値には、NONE または UPDATE_ONLY の 2 つがあります。 部分オペレーションのデフォルト設定は NONE です。これは、パーシスタント属性フィールドのサブセットだけが変更された可能性がある場合でも、データベースに対する 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 に設定されている場合) のうち、使用法でどれが最良のパフォーマンスを提供するか判断する必要があります。
制限事項