Entity Beanについて

Entity Beanは、データベース内の永続データと、そのデータに働きかけるメソッドを表します。リレーショナル・データベースの場合には、表の各行に対して1つのBeanが存在します(ただし、エンティティは、ビューまたはその他の複雑な問合せに基づく場合もあります)。レコードに対する各Entity Beanは、一意の主キーにより識別されます。Entity Beanを作成する場合、Enterprise JavaBeanウィザードではcreate()メソッドおよびその主キーを使用してEntity Beanを作成します。

Entity Beanのライフ・サイクルは、それが実行される仮想マシンのライフ・サイクルによる制限を受けないのが普通です。仮想マシンがクラッシュした、またはデータベースで現在のトランザクションがロールバックされた場合でも、Entity Beanと、他のクライアントからの参照は破棄されません。その後クライアントは、オブジェクト参照および主キーを使用して、あるいはそのコンテナが状態を再ロードする際に、同じEntity Beanに再接続できます。

Entity Beanでは、独自に永続性を管理する(Bean管理の永続性、BMP)か、コンテナに永続性を管理させます(コンテナ管理の永続性、CMP)。

CMP Bean

コンテナ管理の永続性(CMP)Entity Beanでは、永続性に関するタスクがそのコンテナに委譲されるため、EJBのビジネス・ロジックの開発に専念できます。JDeveloperを使用してEntity Beanをデプロイする場合、デプロイメント・ディスクリプタにおけるCMPフィールドと、そのデータベースへのマップ方法がJDeveloperにより識別されます。Entity Beanを永続させるために必要なロジックは、コンテナにより生成されます。

データベースにマップされるフィールドは、コンテナ管理のフィールドと呼ばれます。これらのフィールドは、任意のJavaプリミティブ型にすることも、EJBモジュール・エディタで作成および管理が可能なシリアライズ可能オブジェクトにすることもできます。

JDeveloperのモデリング・ツールやウィザードを使用して、データベース表からCMP Beanをリバース・エンジニアリングできます。 また、EJBをJDeveloperで作成してからデータベース表として生成することもできます。

BMP Bean

Bean管理の永続性(BMP)Entity Beanでは、永続性のロジックを明示的に記述する必要があります。データベース・テクノロジについての知識に加えて、Beanのフィールドを明示的にデータソースへマップすることが必要になります。

BMP Beanは、同時に複数のデータベースにマップしたり、フラット・ファイルなどのレガシー・システムにマップできます。 このように外部で作業する場合を除き、CMP Beanをお薦めします。CMP Beanの方が使用しやすく、移行も容易です。


関連項目

Enterprise JavaBeansアプリケーションの開発

 

 

Copyright © 1997, 2004, Oracle. All rights reserved.