詳細表示
| 目的 | 所要時間 | アプリケーション |
|---|---|---|
このチュートリアルでは、JPAエンティティやJava EEコンテナ外部で実行するシンプルなJavaサービス・ファサードを使用したJPAアプリケーションを構築する方法について説明します。これから作成するアプリケーションの完成版を確認するには、「Download」ボタンをクリックして最終アプリケーションのzipファイルをダウンロードし、JDeveloperのmyworkフォルダに解凍します。 |
30分 | ![]() |
OTNからschema.zipファイルをダウンロードします。

-
ファイルを適切な場所(
c:\tempなど)に解凍します。 -
Fileメニューから「Open」を選択します。ワークスペース
c:\temp\Infrastructure\Infrastructure.jwsを開きます。 -
プロジェクトを移行するよう指示されたら、「Yes」をクリックして確定します。次に「OK」をクリックします。
-
アプリケーション・ナビゲータで、「MasterBuildScript」プロジェクトを展開します。Resourcesの下にある「build.properties」をダブルクリックして、エディタで開きます。
-
build.propertiesファイルに適切な値を設定します(
jdeveloper.homeと、jdbc.*およびdb.*のすべてを設定)。他のプロパティは、すべてデフォルト値のままにしておきます。demoユーザーの名前をFODにする必要があります。
関連する設定は、次のとおりです。設定 説明 jdeveloper.home JDeveloperがインストールされている /jdeveloperディレクトリ(例:c:/JDeveloper_11/jdeveloper/)jdbc.urlBase データベースのベースURL(例: jdbc:oracle:thin:@localhost)jdbc.port データベースのポート番号(例: 1521)jdbc.sid データベース・システムの識別子(例: XEまたはORCL)db.adminUser 管理者権限を持つデータベース・ユーザー(例: system)db.demoUser.tablespace FODユーザーをインストールする表領域の名前(例: USERS) -
MasterBuildScriptプロジェクトで、「build.xml」ファイルを選択します。
-
Structureウィンドウで、「refreshSchema」ターゲットを右クリックして、「Run Target "refreshSchema"」を選択します。
-
入力の指示が表示されたら、管理者権限を持つデータベース・ユーザーのパスワードを入力します。Antタスクの実行後、JDeveloper Logウィンドウでbuild successfulメッセージを確認できます。
エラーがある場合、データベースが実行中であるかどうか(SQL*Plusで接続を試みます)、build.propertiesファイルに設定した値が正しいかどうかを確認する必要があります。また、指定したDBAユーザーにCREATE USER権限があることも確認してください。
詳細表示
-
メイン・メニューから「File」→「New」を選択します。New Galleryで「General」カテゴリを展開し、「Applications」を選択します。Itemsリストで「Custom Application」を選択し、「OK」をクリックします。
-
この例に合わせるため、アプリケーション名として
ProductsApplicationと入力します。
デフォルト値のままにして、「Finish」をクリックします。
アプリケーション・ナビゲータのProjectsパネルは、次のように表示されます。

詳細表示
詳細表示
詳細表示
インストールしたデータベースへの接続を確立し、Fusion Order Demo(FOD)のスキーマを使用できるようにします。
-
メイン・メニューから「File」→「New」→「General」→「Connections」→「Database Connection」の順に選択し、「OK」をクリックしてCreate Database Connectionダイアログを開きます。
-
Create Connection Inオプションとして選択されていない場合は、「Application Resources」を選択します。
-
接続の名前を入力し、接続タイプを選択して、ユーザー名とパスワードを入力します。この例では、接続名に
FOD、ユーザー名にfodを使用します。
Oracle JDBC Settingsに値を入力して、使用するデータベースのホスト、ポート、SIDを指定します。
-
「Test Connection」をクリックして、接続可能であることを確認します。接続に成功したら、「OK」をクリックします。
-
アプリケーション・ナビゲータで、「Application Resources」パネルを展開し、「Connections」ノードと「Database」ノードを展開して、データベース・オブジェクトを表示します。
Enterprise JavaBeans(EJB)3.0仕様には、軽量Javaオブジェクトの作成、削除、問合せをおこなうためのAPIであるJava Persistence API(JPA)と呼ばれる永続化仕様が追加されています。EJB 3.0仕様は、"beans"としてエンティティを参照しません。JPAエンティティを参照します。
JPAエンティティの作成を開始するには、Create Entities from Tablesウィザードを起動します。
-
アプリケーション・ナビゲータで、作成したプロジェクトを右クリックして、「New」 > 「Business Tier」 > 「EJB」 > 「Entities from Tables」を選択します。その後「OK」をクリックして、Create Entities from Tablesウィザードを立ち上げます。
-
ステップ1のVersionウィザードで、「EJB 3.0 -- JPA Entities」を選択します。「Next」をクリックします。
-
ステップ2のPersistence Unitウィザードでは、新しいユニットを作成しないでください。「Next」をクリックします。
-
ステップ3のType of Connectionで、「Online Database Connection」を選択します。「Next」をクリックします。
-
ステップ4のDatabase Connection Detailsでは、Connectionドロップダウン・リストでFODが選択されているかどうかを確認します。「Next」をクリックします。
-
ステップ5のSelect Tablesで、「Query」をクリックし、Availableリストを追加します。 リストからPRODUCTS_BASEを選択し、「
」をクリックしてSelectedリストに追加します。「Next」をクリックします。
-
ステップ6のGeneral Optionsでは、デフォルトのパッケージ名をそのまま使用します。 Entity Class Optionsで、次のオプションが設定されているかを確認し、「Next」をクリックします。
オプション 値 フィールド selected Implement java.io.Serializable Interface selected Generate @NamedQuery Annotation to Retrieve All Instances selected
-
ステップ7のSpecify Entity Detailsで、FOD.PRODUCTS_BASE表のデフォルトのエンティティ名とクラスを受け入れます。「Finish」をクリックします。
-
「
」Save Allをクリックして作業内容を保存します。
表のエンティティの作成ステップが完了すると、Oracle JDeveloperによりEJBログ・ウィンドウにメッセージが表示されます。
詳細表示
詳細表示
-
アプリケーション・ナビゲータで、Application Sourcesに続けてMETA-INFを展開し、persistence.xmlを右クリックします。そして、New Java Service Facadeを選択し、Create Java Service Facadeウィザードを立ち上げます。
-
ウィザードのステップ1であるJava Service Classで、Javaサービス・クラスの名前を
project1.ProductsJavaServiceFacadeに変更します。これは、別のJavaサービス・ファサードが生成される場合に変更を上書きしないようにするためです。
-
Generate a Sample Java Clientの選択を解除します。「Next」をクリックします。
セッション・ファサードとは異なり、Javaサービス・ファサードはコンテナ内部で実行されないので、メソッドを呼び出すために別のサンプル・クライアントを作成する必要はありません。Javaサービス・クラスのmain()メソッドを追加して、独自のクライアントとしてJavaサービス・ファサードを使用できます。 -
ウィザードのステップ2であるCreate Persistence Unitで、永続性ユニット名に
Project1-Outsideと入力します。 JDBC Connectionが選択され、作成したデータベース接続(例:FOD)がドロップダウン・リストで選択されていることを確認します。「Next」をクリックします。
-
ステップ3のJava Service Facade Methodsで、両方のノードを展開してすべてのメソッドが選択されていることを確認します。次に、「Finish」をクリックします。
-
「
」Save Allをクリックして作業内容を保存します。
永続性ユニットとJavaサービス・ファサードの作成ステップが完了すると、IDEは次のように表示されます。
Oracle JDeveloperにより、ProductsJavaServiceFacade.javaファイルがソース・エディタ内で開きます。Javaサービス・クラスには、ファサードでの公開を選択したメソッドが含まれます。
詳細表示
詳細表示
詳細表示
-
まだ開いていない場合は、アプリケーション・ナビゲータで「
」ProductsJavaServiceFacade.javaをダブルクリックして、Javaソース・エディタで開きます。 実行可能なJavaサービス・ファサードを作成するには、main()メソッドを追加します。
-
ソース・エディタで、次のパブリック・メソッドの後に、製品名のリストをプリントアウトする
main()メソッドを追加します。
public ProductsJavaServiceFacade(){...}
次のコードをコピーアンドペーストします。 -
アプリケーション・ナビゲータで、「
」ProductsJavaServiceFacade.javaを右クリックし、「Run」を選択します。
Runをクリックすると、JDeveloperは始めにプロジェクトを保存し、コンパイルします。 コンパイルの詳細がMessages Logウィンドウに表示されます。 Running Logウィンドウを開き、Java EEコンテナの外部で実行されるクラスの実行結果を確認します。そして、製品名のリストが返されます。
final ProductsJavaServiceFacade productsJavaServiceFacade = new ProductsJavaServiceFacade();
List<ProductsBase> prodList = productsJavaServiceFacade.getProductsBaseFindAll();
for (ProductsBase prod : prodList) {
System.out.println(prod.getProductName());
}
}
- JDeveloperのウィザードおよびダイアログを使用してアプリケーションおよびデータベース接続を作成する。
- Java EEコンテナ外部で実行するために構成された永続性ユニットを生成します。
- ソース・エディタを使用して、
main()メソッドにコードを追加します。 - Javaサービス・ファサードを実行します。
- Creating a Simple EJB Session Bean
- Getting Started with the JDeveloper IDE
- User's Guide for Oracle JDeveloper
- Java EE Developer's Guide for Oracle ADF

