複数列への CMP フィールドのマッピング
関連項目
1 つの CMP フィールドを複数のデータベース列にマッピングすることができます。Sun Java System Application Server に配備する場合は、Sun 構成エディタで CMP マッピングを構成できます。これ以外のアプリケーションサーバーに配備する場合は、そのサーバー固有の配備記述子で自分で CMP マッピングを編集する必要があります。
1 つのフィールドを複数の列にマッピングする
- 「プロジェクト」ウィンドウで、EJB モジュールの「構成ファイル」ノードを展開し、sun-cmp-mappings.xml または sun-ejb-jar.xml ファイルをダブルクリックします。
- ファイル (sun-cmp-mappings または sun-ejb-jar.xml) がテキストモードで開かれていると、ビジュアルエディタを開くことができません。その場合は、ソースエディタでテキストモードのすべてのタブを閉じる必要があります。
- Sun 構成エディタで「Sun 構成」ノードを展開し、マッピングするエンティティー Bean を選択します。
- 「CMP マッピング」タブで適切な主表と二次表が指定されていることを確認します。
- CMP フィールドのプロパティーを「<複数列にマップ>」に設定します。「フィールドを複数列にマップ」ダイアログが開きます。
- 左区画で、フィールドにマッピングする列を選択し、「追加」をクリックします。右区画に、選択した列が表示されます。左区画は、Bean にマッピングされている表から選択可能な列の一覧です。
- マッピングする列が表示されない場合は、マッピングへの二次表の追加、または選択した主表の変更が必要になることがあります。
- リストに列がまったく表示されない場合は、主表をマッピングしていないか、列のない表をマッピングした可能性があります。
- 必要に応じて、「上へ移動」または「下へ移動」を使用して、右区画の列の順序を変更します。
1 つのフィールドを複数の列にマッピングした場合は、すべての列が、リストに最初に示された列の値で更新されます。したがって、いずれか 1 つの列の値が EJB アプリケーションの外部で変更された場合でも、その値が読み取られるのは、変更が最初の列に加えられた場合だけです。データベースに値を書き込むと、ほかの列に加えられた競合する変更が上書きされます。
- 関連項目
- EJB 2.1 CMP マッピングについて
- CMP フィールドの定義
- データベースからの CMP エンティティー Bean の生成
- データベーススキーマの取得
- CMP マッピングの構成
- 複数列への CMP フィールドのマッピング
著作権と商標について