JPA エンティティーを使用したセッション Bean の作成

「EJB 3.1 セッション Bean の作成」ウィザードを使用して EJB プロジェクトにセッション Bean と JPA エンティティーを作成することができます。

手順

  1. EJB プロジェクトを作成するステップに従って行います。「構成」フィールドの横の「変更」をクリックします。

    構成の変更

  2. 「プロジェクト・ファセット」ページで「Java パーシスタンス」を選択し、「OK」をクリックします。
    JPA ファセットの追加
  3. EJB プロジェクトを作成するには、「JPA ファセット」ページで、以下のステップに従って行います。
    1. 「プラットフォーム」フィールドで、「RAD JPA プラットフォーム」を選択します。
    2. 「接続」フィールドで接続を選択するか、「接続の追加」をクリックして、接続を作成します。ステップに従って、選択したデータベース接続を作成します。
    3. 「接続からのデフォルト・スキーマのオーバーライド」を選択して、デフォルトのスキーマから使用しない場合は、「スキーマ」フィールドで別のスキーマを選択し、「終了」をクリックします。
  4. 以下のようにして、EJB プロジェクトにセッション Bean を作成します。
    1. Java™ EE パースペクティブで、 プロジェクトを右クリックし、「新規」 > 「セッション Bean」を選択します。 「EJB 3.1 セッション Bean の作成」ウィザードが表示されます。
    2. 「ソース・フォルダー」フィールドで、新しい Bean 用のソース・フォルダーを選択します。
    3. 「Java パッケージ」フィールドに、新規 Bean のパッケージ名を入力します。
    4. 「Bean 名」フィールドに、エンタープライズ Bean に割り当てる名前を入力します。規則により、Bean 名は大文字で始めます。
      注: Bean の名前にユニコード文字を使用できますが、ユニコード文字は、エンタープライズ Bean に関連付けられたエンタープライズ Bean のパッケージ、およびクラスではサポートされていません。
    5. リモート・インターフェースを追加する場合は「リモート」を選択し、ローカル・インターフェースを追加する場合は「ローカル」を選択します。その後、「終了」をクリックします。
  5. 以下のようにして、EJB プロジェクトに JPA エンティティーを作成します。
    1. EJB プロジェクトを右クリックし、「JPA」 > 「エンティティーの生成...」を選択します。
    2. 「データベース接続」ページで、接続とスキーマが正しくなっていることを確認して、 「次へ」をクリックします。
    3. 「テーブルからエンティティーを生成」ページの「ソース・フォルダー」フィールドでソース・フォルダーの名前を入力するか、エンティティーの Java ソース・ファイルを置くフォルダーのパスを表示します。
    4. 「Java パッケージ」フィールドで、エンティティーの Java パッケージを入力するか、表示します。
    5. エンティティー・クラスを persistence.xml ファイルと同期させるには、「クラスを persistence.xml で同期化」を選択します。
    6. 「テーブル」フィールドで、エンティティーの作成元にするテーブル (複数可) を選択して、 「終了」をクリックします。 JPA エンティティー・クラスを表示した Java エディターが開きます。
  6. JPA エンティティー・クラスに照会を作成します。Java エディターで JPA エンティティー・クラスを開くと、データベースからデータを検索する照会を作成できます。 エンティティー・クラスでの簡単な照会の例を 2 つ挙げます。
    @Entity
    @NamedQueries({
    	@NamedQuery(name = "findBySalaryLessThan", query = "SELECT e FROM Employee e WHERE e.salary < :salary"),
    	@NamedQuery(name = "findBySalaryGreaterThan", query = "SELECT e FROM Employee e WHERE e.salary > :salary")
    })
  7. セッション Bean で、JPA エンティティーを使用します。ステートレス・セッション Bean で、EntityManager の注入を使用して、JPA エンティティーで作成した照会を実行することができます。Java エディターで セッション Bean クラスを開いて、JPA エンティティーに接続する EntityManager を作成します。 前のステップで作成された照会を呼び出す例を以下に示します。
    @Stateless
    public class HumanResourcesBean implements HumanResources {
    
    	@PersistenceContext
    	private EntityManager emanager;
    
    	public HumanResourcesBean() {
    	}
    
    	public List<Employee> findBySalaryLessThan(double salary) {
    		Query query = emanager.createNamedQuery("findBySalaryLessThan");
    		query.setParameter("salary", BigDecimal.valueOf(salary));
    
    		@SuppressWarnings("unchecked")
    		List<Employee> result = query.getResultList();
    		return result;
    	}
    
    	public List<Employee> findBySalaryGreaterThan(double salary) {
    		Query query = emanager.createNamedQuery("findBySalaryGreaterThan");
    		query.setParameter("salary", BigDecimal.valueOf(salary));
    
    		@SuppressWarnings("unchecked")
    		List<Employee> result = query.getResultList();
    		return result;
    	}
    }
トピックのタイプを示すアイコン タスクのトピック
インフォメーション・センターのご利用条件 | フィードバック

タイム・スタンプ・アイコン 最終更新: May 29, 2014 10:20

ファイル名: tsessbeanjpawiz.html