JPAアプリケーションの作成

Oracle JDeveloperのIDEを操作して、JPAエンティティやJava EEコンテナ外部で実行するシンプルなJavaサービス・ファサードを使用したJPAアプリケーションを作成します。

スキーマのインストール:Oracle Technology Network(OTN)からスキーマのzipファイルをダウンロードしてインストールします。 キュー・カードでは、Fusion Order Demo(FOD)スキーマの一部である表を使用します。

新規アプリケーションの作成:Create Applicationダイアログを使用して、汎用アプリケーションを作成します。

データベース接続の作成:Create Database Connectionダイアログを使用して、スキーマへの接続を作成します。

JPAエンティティの作成:Create Entities from Tablesウィザードを使用して、既存のデータベース表からJPAエンティティを作成します。

Javaサービス・ファサードの生成:Create Java Service Facadeウィザードを使用して、 main()メソッドを含むJavaサービス・ファサードを作成します。

永続性ユニットの生成: Create Java Service Facadeウィザードを使用して、Java EEコンテナ外部で実行するために構成された永続性ユニットを生成します。

コードの追加およびJavaサービス・ファサードの実行:コードを main()メ ソッドに追加して、Javaサービス・ファサードを実行します。

 

スキーマのインストール

 

 

tell me more iconスキーマのインストール

キュー・カードの手順と例は、Fusion Order Demo(FOD)スキーマの一部である表に基づいています。 また、このリリースのほかの補足情報と同様に、Oracle JDeveloper 11gに付属しているサンプル・アプリケーションのデータベースとして、このスキーマが使用されます。 このスキーマはインストールすると便利であり、インストールは1回で済みます。 FODスキーマをすでにインストールしている場合は、この手順をスキップして次のカードに進んでください。 [ 詳細はこちら]

 

 

  1. go to dialog or window icon OTN からスキーマのzipファイルをダウンロードします。 以前にスキーマを作成している場合は、次のキュー・カード cur cards iconに進んでください。
  2. ファイルを適切な場所( c:\tempなど)に解凍します。
  3. File 」メニューから「 Open 」を選択します。 c:\temp\Infrastructure\infrastructure.jwsワー クスペースを開きます。
  4. プロジェクトを移行するよう指示された場合は、「 Yes 」をクリッ クします。
  5. アプリケーション・ナビゲータで、「 MasterBuildScript 」 プロジェクトを展開し、「 build.properties 」をダブルクリック してエディタで開きます。
  6. build.propertiesファイルに適切な値を設定します( jdeveloper.homeと、 jdbc.*お よび db.*のすべての設定)。 デフォルト値に設定されたほかのすべてのプロパティを保持します。 demoユーザーの名前を FODにする必要があります。
    関連する設定は、次のとおりです。
    jdeveloper.home Oracle JDeveloperをインストールした場所( c:/JDeveloper/11gな ど)
    jdbc.urlBase データベースのベースURI( jdbc:oracle:thin:@localhostなど)
    jdbc.port データベースのポート番号( 1521など)
    jdbc.sid データベース・システム識別子( XEまたは ORCLなど)
    db.adminUser 管理者権限をもつデータベース・ユーザー( systemなど)
    db.adminUser.password 管理者権限をもつデータベース・ユーザーのパスワード( managerなど)
    db.demoUser.tablespace FODユーザーがインストールされる表領域名( USERSなど)
  7. MasterBuildScriptプロジェクトで、「 build.xml 」ファイルを選択します。
  8. Structureウィンドウで、「 refreshSchema 」 ターゲットを右クリックして、「 Run Target "refreshSchema" 」 を選択します。

     

    tell me more iconIDE内

    Antタスクの実行後、Oracle JDeveloper Logウィンドウで build successfulメッセージを確認できます。 [ 詳細はこちら]

     

 

新規アプリケーションとプロジェクトの作成

 

 

tell me more icon新規アプリケーションとプロジェクトの作成

Oracle JDeveloperアプリケーションは、組織構造の最上位レベルです。 アプリケーションの作成中に、操作しているオブジェクトの情報が格納されます。 プロジェクトと環境設定が追跡されます。 [ 詳細はこちら]

 

 

  1. Create Applicationダイアログを開きます(「 File」→「 New」→「 General」 →「 Applications」→「 Application」)。
  2. アプリケーション名に ProductsApplicationを入力して、この例に従います。
  3. Applica tion Template リストボックスから「 No Template [All Technologies] 」を選択し、「 OK 」をクリックします。
  4. プロジェクト名はデフォルトのままにして、「 OK 」をクリックしま す。

     

    tell me more iconアプリケーション・テンプレート

    アプリケーション・テンプレートを使用すると、標準アプリケーション向けのプロジェクト構造を素早く作成できます。このプロジェクト構造に は、適切なテクノロジーの組合せが事前に指定されています。 テンプレートから作成された新規アプリケーションがアプリケーション・ナビゲータに表示される際、各プロジェクトには関連するテクノロジー・スコープが設 定され、プロジェクト階層に分割されます。 [ 詳細は こちら]

     


     

    tell me more iconIDE 内

    新しいアプリケーションを作成すると、Application Overviewウィンドウがデフォルトでエディタ・ウィンドウ領域に開きます。 このウィンドウには、Oracle JDeveloper内で作成されるすべてのオブジェクトがオブジェクト・タイプごとに配置されて表示されます。 新しいオブジェクトを作成したり、まだ作成していない新しいタイプのオブジェクトを参照したり、オブジェクトのコンテキスト・メニューからアクションを起 動したりできます。 [ 詳細はこちら]

     

 

データベース接続の作成

 

 

tell me more iconデータベース接続の作成

接続の詳細を把握しているデータベースに接続できます。また、キュー・カードの例に使用されているサンプル・スキーマをインストールして、スキーマ への接続を確立できます。 サンプル・スキーマをインストールした場合、記載されているとおりにキュー・カードの手順を実行できます。 独自のデータベースを使用している場合、必要に応じて固有の値を設定できます。 [ 詳細はこちら]

 

 

  1. Create Database Connectionダイアログを開きます(「 File」→「 New」→「 General」 →「 Connections」→「 Database Connection」)。
  2. Cre ate Connection In オプションとして選 択されていない場合は、「 Application Resources 」 を選択します。
  3. 接続の名前を入力し、接続タイプを選択して、ユーザー名とパスワードを入力します。 この例では、接続名に FOD、 ユーザー名に fod、パスワードに fusionを使用します。
  4. Deplo y Password 」を選択して、実 行時に認証を省略します。

     

    tell me more iconデータベース接続とパスワード配置

    データベース接続を作成する場合は、ユーザー名とパスワードを指定して、接続を認証します。 [ 詳細はこちら]

     

  5. Test Connection 」をクリックし て、接続可能であることを確認します。
  6. 接続に成功したら、「 OK 」をクリックします。
  7. アプリケーション・ナビゲータで、 Application Resourcesパ ネルの「 Connections 」および「 Database 」ノードを展開し、データベース・オブジェクトを表示します。

     

    tell me more iconIDE内

    データベース接続の作成ステップが完了すると、 Application Resourcesパ ネルを展開した際に、アプリケーション・ナビゲータは次のように表示されます。 データベース接続がアプリケーションのリソースとして、 Connectionsおよび Databaseノー ドに設定されました。 [ 詳細はこちら]

     

 

表からのJPAエンティティの作成

 

 

tell me more icon表からのJPAエン ティティの作成

Enterprise JavaBeans(EJB)3.0仕様には、軽量Javaオブジェクトの作成、削除、問合せをおこなうためのAPIであるJava Persistence API(JPA)と呼ばれる永続化仕様が追加されています。 EJB 3.0仕様は、"beans"としてエンティティを参照しません。JPAエンティティを参照します。

[ 詳細はこちら]

 

 

 

  1. アプリケーション・ナビゲータで作成したプロジェクトを選択し、Entities from Tablesウィザードを起動します(「 File」 →「 New」→「 Business Tier」→「 EJB」→「 Entities from Tables」)。
  2. ウィザードのステップ1、Select EJB Versionダイアログで、「 EJB 3.0 -- JPA Entities 」を選択します。 「 Next 」 をクリックします。
  3. ステップ2のPersistence Unitでは、選択を空白のままにします。 「 Next 」 をクリックします。
  4. ステップ3のType of Connectionで、「 Online Database Connection 」を選択します。 「 Next 」 をクリックします。
  5. ステップ4のDatabase Connection Detailsでは、 Connection ド ロップダウン・リストで FODが選択されているかどうかを確認します。 「 Next 」をクリックします。
  6. ステップ5のSelect Tablesで、「 Query 」 をクリックし、 A vailable リストに移入します。 リストから「 PRODUCTS_BASE 」をクリックし、「 blue right arrow」をク リックして、 Selec ted リストに移動します。 「 Next 」をクリックします。

     

    tell me more iconJPAエンティティ の作成

    Create Entities from Tablesウィザードを使用して、1つ以上のエンティティを同時に作成できます。 例では、FODスキーマの表を1つ選択し、JPAエンティティを作成します。 [ 詳細はこちら]

     

  7. ステップ6のEntities from Tablesで、次の選択を確認して「 Next 」 をクリックします。
    Fiel ds が選択されている
    Implement java.io. Serializable が選択 されている
    java.util.List Collection Type for Relationship Fields ドロップダウン・リストで選択されている
  8. ステップ7のSpecify Entity Detailsで、 FOD.PRODUCTS_BASE表 のデフォルトのエンティティ名とクラスを受け入れます。 「 Finish 」 をクリックします。
  9. アプリケーション・ナビゲータで、「 Application Sources 」 に続いて「 META-INF 」を展開します。 「 persistence.xml」をダブルクリックして、概要エディタでファイルを開きます。

     

    tell me more iconJPA Persistence

    Java Enterprise Edition 5(Java EE 5)Enterprise Java Beans(EJB)3.0仕様の一部であるJava Persistence API(JPA)は、Javaの永続性を大幅に簡易化します。 Javaオブジェクトをリレーショナル・データベース表へ宣言的に定義する、標準的かつ移植性の高いオブジェクト・リレーショナル・マッピング・アプロー チを提供します。このアプローチは、Java EE 5アプリケーション・サーバーの内部およびJava Standard Edition(Java SE)5アプリケーションのEJBコンテナ外部の両方で動作します。 [ 詳細はこちら]

     

  10. save all iconSave Allをクリックして作業内容を保存します。

     

    tell me more iconIDE内

    表のエンティティの作成ステップが完了すると、Oracle JDeveloperによりEJBログ・ウィンドウにメッセージが表示されます。 [ 詳細はこちら]

     

 

Javaサービス・ファサードと永続性ユニットの生成

 

 

tell me more iconJavaサービス・ ファサードと永続性ユニットの生成

永続性ユニットは、配置されたプロジェクト(EJB JARファイルまたはWARファイル)に含まれているエンティティのサブセット(すべての場合もあります)を識別します。 また、メタデータとこのエンティティ・グループを関連づけます。これには、Java EEコンテナの内部または外部のどちらで実行されるかが含まれます。 [ 詳細はこちら]

 

 

  1. アプリケーション・ナビゲータで「 persistence.xml 」 を右クリックしてから、Create Java Service Facadeウィザードを起動します(「 File」→「 New」 →「 Business Tier」→「 EJB」→「 Java Service Facade」)。
  2. ウィザードのステップ1、Java Service Classで、Javaサービス・クラスの名前を project1.ProductsJavaServiceFacadeに 変更します。 これによって、別のJavaサービス・ファサードが生成される場合に変更が上書きされません。
  3. Generate a main() method with sample client code 」を選択します。 「 Next 」 をクリックします。

     

    tell me more iconmain()メソッ ドの生成

    セッション・ファサードとは異なり、Javaサービス・ファサードはコンテナ内部で実行されないので、メソッドを呼び出すために別のサンプ ル・クライアントを作成する必要はありません。 Javaサービス・クラスの main()メソッドを追加して、独自のクライア ントとしてJavaサービス・ファサードを使用できます。 [ 詳細はこちら]

     

  4. Persistence Unitフィールドの右側の「 New Unit... 」 ボタンをクリックします。 永続性ユニット名に Project1-Outsideと入力します。 JDBC ConnectionにFODが選択されていることを確認して、「 OK 」をク リックします。

     

    tell me more icon永続性ユニットの作 成

    以前のキュー・カードでは、Create Entities from Tablesウィザードを使用してJPAエンティティを作成すると、Oracle JDeveloperにより persistence.xmlファ イルにデフォルトの永続性ユニットである Project1が自動的に作成されました。 Java EEコンテナ内部で実行できるように、デフォルトの永続性ユニットが構成されます。 [ 詳細はこちら]

     

  5. Next 」をクリックします。 ステップ2のJava Service Facade Methodsで、両方のノードを展開してすべてのメソッドが選択されていることを確認します。 「 Finish 」をクリックします。

     

    tell me more iconJavaサービス・ ファサード・メソッド

    ウィザードを使用してJavaサービス・ファサードを作成すると、選択した永続性ユニットでの各エンティティのJavaサービス・ファサー ド・メソッドの生成を選択できます(1つ以上のエンティティが存在する場合)。 [ 詳細はこちら]

     

  6. save all iconSave Allをクリックして作業内容を保存します。

     

    tell me more iconIDE内

    永続性ユニットとJavaサービス・ファサードの作成ステップが完了すると、IDEは次のように表示されます。 [ 詳細はこちら]

     

 

Javaサービス・ファサードの実行

 

 

tell me more iconJavaサービス・ ファサードの実行

実行可能なJavaサービス・ファサードを作成するには、実装コードを main()メソッドに追加します。 [ 詳細はこちら]

 

 

  1. まだ開いていない場合は、アプリケーション・ナビゲータで「 javanode iconProductsJavaServiceFacade.javaを ダブルクリックして、Javaソース・エディタで開きます。
  2. エディタで、製品名のリストをプリントアウトするコードを追加します。
    code sample icon サンプル・コードを使用してください
  3. save iconSaveを クリックして、ファイルの変更を保存します。
  4. アプリケーション・ナビゲータで、「 javanode iconProductsJavaServiceFacade.javaを 右クリックし、「 R un 」を選択します。製品名のリストがログ・ ウィンドウに表示されます。

     

    tell me more iconIDE内

    サンプル・コードを main()メソッドに追加したあと、Javaソース・エディタが次のように表示されます。 [ 詳細はこちら]