EJB 2.x エンティティーのアクセス・インテントは、EJB 2.x 仕様において、EJB 1.x アクセス・インテントおよび EJB 1.x 分離レベルを置き換えるものです。
アクセス・インテントをエンタープライズ Bean 2.x
に追加するには、一般に次の 2 つの方式があります。
- Bean レベルのアクセス・インテント (デフォルト): この方式は、Bean
レベルに基づいてアクセス・インテントを処理するデフォルト方式で、ほとんどの場合に使用します。
- メソッド・レベルのアクセス・インテント:
この方式は、メソッドに基づいてアクセス・インテントを処理する拡張方式で、高度な処理を要する状況でのみ使用する必要があります。
デフォルトのアクセス・インテント (Bean レベル)
をエンタープライズ Bean 2.x に追加するには、次の手順で行います。
- J2EE パースペクティブに切り替えます。
- 「プロジェクト・エクスプローラー」ビューで、「EJB
プロジェクト」をクリックし、ご使用のプロジェクトを見つけて、次に
「ejbModule」 > 「META-INF」 > 「ejb-jar.xml」
とクリックします。 「EJB デプロイメント記述子」ウィンドウが開きます。
- エディターの「アクセス」ページで、1 つ以上の Bean を選択し、
「エンティティー 2.x (Bean レベル) 用のデフォルト・アクセス・インテント」セクションで、
「追加」をクリックします。 「アクセス・インテントの追加」ウィザードが開きます。
- 「アクセス・インテント名」フィールドで、
ドロップダウン・リストからアクセス・インテント・タイプを選択します。
- オプション: 新規のアクセス・インテントの記述を入力します。
- パーシスタンスを設定するには、「パーシスタンス・オプション」を選択します。 以下の 3 つのパーシスタンス・オプションがあります。
- 「Verify Read Only Data」を選択する場合、リストから読み取り専用整合性検査の
オプションを選択します。
- NONE 読み取り/読み取り検査は行われません。
- AT_TRAN_BEGIN ejbLoad 中に読み取り/読み取り検査を実行し、
データがキャッシュからのものである場合、データベースを確認して、Bean
のデータが最後のロードから変更されていないことを確認します
(アクセス・インテントの並行性の制御属性に基づいた適切なロックを使用します)。
- AT_TRAN_END トランザクションの終了時に読み取り/読み取り検査を実行し、Bean
が変更されておらず、現行トランザクションによってロードされなかった場合、データベースを確認して、Bean
のデータが最後のロードから変更されていないことを確認します
(アクセス・インテントの並行性の制御属性に基づいた適切なロックを使用します)。
データが変更されている場合は、トランザクションは失敗します。
読み取り/読み取り整合性検査の例については、例: 読み取り/読み取り整合性検査 を参照してください。
- 「部分操作」を選択する場合、リストから部分操作のオプションを選択します。
- NONE これはデフォルト設定です。
パーシスタント属性フィールドのサブセットが変更された場合でも、データベースに対する
CMP Bean のパーシスタント属性はすべてデータベースに保管されます。
- UPDATE_ONLY データベースへの更新を、変更された CMP Bean のパーシスタント属性のみに制限します。
部分操作について詳しくは、コンテナー管理パーシスタンスの部分操作を参照してください。
- 「据え置き操作」を選択する場合、リストから据え置き操作のオプションを選択します。
- NONE 据え置きされるものはありません。
- CREATE_ONLY データベースで列を作成するために次の ejbStore が実行されるまで、ejbCreate コマンドのみが据え置きされます。
- ALL フラッシュが必要になるまで、finder メソッド前またはトランザクション完了前のいずれでも、すべての ejbCreate、ejbStore、および ejbRemove コマンドが据え置きされます。
据え置き操作について詳しくは、コンテナー管理パーシスタンスの据え置き作成を参照してください。
- バッチ操作は、JDBC バッチ・コマンドを使用して、この特定のエンタープライズ Bean が接続しているデータベース・バックエンドの行を挿入、更新、または削除します。バッチ操作について詳しくは、コンテナー管理パーシスタンスのバッチ・コマンドを参照してください。
バッチ操作を選択するには、以下を実行します。
- 「据え置き操作」の「ALL」を選択します。
(バッチ操作を使用するには、「ALL」を選択する必要があります)
- 「バッチ (Batch)」ボックスにチェック・マークを付けます。
- 「終了」をクリックします。
アクセス・インテントが追加されます。アクセス・インテントを除去するには、
アクセス・インテントを選択し、「除去」ボタンをクリックします。