配備時のデータベース表の生成
関連項目
CMP エンティティー Bean の開発時、データベースの構造に関して細かい注意を払う必要がなく、唯一の要件がデータベースに対して Bean が持続することの場合は、アプリケーションサーバーによってデータベースとマッピングが生成されるようにアプリケーションを設定することができます。この場合は、CMP エンティティー Bean、Bean フィールド、および関係を、IDE で作成します。次に、アプリケーションの配備時にデータベース表とマッピングを生成するよう、アプリケーションを設定できます。
- データベース接続からエンティティー Bean を作成 しなかった場合、IDE は、 sun-cmp-mappings.xml を自動的に生成する必要があるとみなします。「新規エンティティー Bean」テンプレートを使用して CMP エンティティー Beans が作成され、sun-cmp-mappings.xml ファイルでマッピングが手動で構成された場合、IDE は、それらの設定を無視し、配備時にマッピングを構成します。独自の sun-cmp-mappings.xml ファイルを使用する場合は、次のいずれかを行います。
- データベースから CMP エンティティー Bean を生成する。生成された Bean は削除できます。プロジェクトは自動的に既存の sun-cmp-mappings.xml ファイルを使用するように切り替えられます。
- プロジェクトの nbproject/project.properties ファイルを開き、プロジェクトの meta.inf.excludes プロパティーから sun-cmp-mappings.xml を削除する。
実行時にデータベース表を生成する
- エンティティー Bean がコンテナ管理による持続性を使用するように設定されていて、その CMP フィールドとコンテナ管理による関係が正しく設定されていることを確認します。
- 「プロジェクト」ウィンドウで「構成ファイル」を展開し、sun-ejb-jar.xml をダブルクリックして、ビジュアルエディタでファイルを開きます。
- 「XML」タブをクリックして、XML エディタを開きます。
- データベースリソースの JNDI 名を <jndi-name> プロパティーで指定します。指定した名前と、アプリケーションサーバーに設定されているデータベースリソースとが一致していることを確認します。
- <create-tables-at-deploy> 要素の値を True に設定します。
アプリケーションの再配備時にエラーが発生しないようにするには、「配備取り消し時に表をドロップ」を「True」に設定します。あるいは、IDE の「サービス」ウィンドウで表を手動で削除します。
- 表の作成先のデータベースサーバーが動作していることを確認します。付属の Java DB サーバーを使用する場合は、「ツール」>「Java DB データベース」>「サーバーを起動」を選択します。
- プロジェクトのノードを右クリックし、「実行」を選択することによってアプリケーションを配備します。
「実行」をクリックすると、CMP Bean ごとに表が 1 つ作成されます。各表では、CMP フィールドごとに列が 1 つ作成され、表同士の関係が CMP Bean 間の関係に基づいて生成されます。「サービス」ウィンドウで、使用しているデータベース接続の「表」ノードの下に作成された表があることを確認します。
- 関連項目
- CMP マッピングについて
- CMP フィールドの定義
- 関係フィールドのマッピング
- データベースからの CMP エンティティー Bean の生成
- CMP マッピングの構成
著作権と商標について