EJB 2.x CMP エンティティー Bean の属性の場合、マッピング・エディターの「プロパティー」ビューにはオプティミスティック述部のプロパティーがあります。
オプティミスティック・アクセス・インテント・セットアップ (wsOptimisticUpdate または wsOptimisticRead) がある場合、述部に含める属性を指定する必要があります。属性が true に設定されている場合は、その属性は Bean の UPDATE SQL ステートメントの WHERE 述部に組み込まれます。属性がプリミティブ型であって true に設定される場合を除き、マッピング・エディターは各属性をデフォルトで false に設定します。
V5.0 より前のバージョンの WebSphereR Studio Application Developer では、 オプティミスティック述部への EJB 1.1 CMP エンティティー Bean の属性の追加はサポートされていません。 しかし、V5.0 より前のバージョンを使用して開発した EJB アプリケーションのデプロイにワークベンチを使用し、オプティミスティック述部の属性のリストを組み込まない場合、使用可能な述部がすべて使用されます。 EJB 2.x CMP エンティティー Bean の処理はこれと異なります。述部として属性を 1 つも選択しないと、過剰修飾更新には何も追加されません。
UPDATE SET NAME = ? WHERE ID = ? AND NAME IS NOT DISTINCT FROM ?この新しい IS NOT DISTINCT FROM 構文により、DB2 Universal Database for z/OS および OS/390 V8 以降のヌル述部では、 JDBC と SQLJ の両方について制限がなくなっています。
他のすべてのバックエンド・データベース・ベンダーについては、 ヌル可能述部列を持つ Bean の部分更新を使用可能にする (部分操作のための UPDATE_ONLY を選択する) ことで、これらの Bean を使用することができるようになります。部分更新をサポートしているのは JDBC のみです。 SQLJ には、引き続きヌル述部に対する制限があります。パーシスタンス・オプションとしての部分操作の使用について詳しくは、 コンテナー管理パーシスタンスのための部分操作 (Partial operation for container managed persistence) および Entity Bean 2.x 用の Bean レベル・アクセス・インテントの追加 (Adding bean-level access intent for entity beans 2.x) の 2 つのトピックを参照してください。