エンタープライズ Bean の作成

Java™ プロジェクトまたは EJB プロジェクトを作成したら、 セッション Bean、エンティティー Bean、およびメッセージ駆動型 Bean を作成し、プロジェクトに追加することができます。

エンタープライズ Bean

エンタープライズ Bean は、他のリソースと結合して Java アプリケーションを作成することが Java コンポーネントです。 エンタープライズ Bean には、エンティティー Bean、セッション Bean、およびメッセージ駆動型 Bean の 3 つのタイプがあります。 すべての Bean は、Enterprise Java Beans (EJB) コンテナーに含まれます。 このコンテナーは、Bean と、Bean があるアプリケーション・サーバー間のインターフェースを提供します。

EJB 3.1 仕様では、EJB 1.1 スタイルのエンティティー Bean の使用は推奨されていません。 Java Persistence API (JPA) 仕様の目的は、 推奨されないエンタープライズ Bean を置き換えることです。 JPA の置換はエンティティー・クラスと呼ばれるので、エンティティー・エンタープライズ Bean と混同しないようにしてください。 JPA エンティティーはエンタープライズ Bean ではないので、EJB コンテナーで実行する必要はありません。

EJB 3.0 および 3.1 の Bean を Web 3.0 プロジェクトに作成することもできます。

コンポーネント定義の注釈

コンポーネント定義の注釈を使用して、セッション Bean、メッセージ駆動型 Bean、および JPA エンティティーのいずれかのタイプのエンタープライズ Bean を作成することができます。 コンポーネント定義の注釈 @Stateful@Stateless を組み込むことは、クラスがセッション Bean クラスであることを示します。コンポーネント定義の注釈 @Singleton を組み込むことは、クラスが singleton クラスであることを示します。コンポーネント定義の注釈 @MessageDriven を組み込むことは、クラスがメッセージ駆動型 Bean クラスであることを示します。コンポーネント定義の注釈と @Entity を組み込むことは、クラスが JPA エンティティーであることを示します。

EJB 開発のガイドライン

EJB 3.1 はフレキシブルでシンプルなプログラミング・モデルを提供しますが、ここでは、 EJB の開発にあたって推奨される規則をいくつか説明します。
  • 各エンティティーは POJO でなければならず、クラスは具象的でなければなりません (つまり、抽象的であったり、最終的であってはなりません)。
  • クラスには、引数なしのコンストラクターが必要です。何もない場合、 コンパイラーはデフォルトのコンストラクターを追加します。
  • POJO は少なくとも 1 つの POJI (Plain Old Java Interface) を実装する必要があります。インターフェースを含める必要があるわけではありませんが、ローカル・クライアントとリモート・クライアントで別々のインターフェースを含めることができます。
  • ビジネス・インターフェースに @Remote 注釈が含まれている場合、インターフェースで宣言されるすべてのパラメーターは、 java.io.Serializable を実装する必要があります。
  • セッション EJB は POJO をサブクラス化できますが、別のセッション EJB をサブクラス化することはできません。

以下のいずれかの方法で、エンタープライズ Bean を作成することができます。

トピックのタイプを示すアイコン 概念のトピック
インフォメーション・センターのご利用条件 | フィードバック

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

ファイル名: centerprisebeans.html