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