ガイドライン: エンティティー Bean の設計
トピック
概論
このガイドラインでは、エンティティー Bean の設計を中心に説明します。エンティティー Bean の識別やモデリングの方法など、エンティティー Bean についての補足ガイダンスは、『ガイドライン: エンティティー Bean』で提供します。EJB に関する一般的なガイダンスは、『ガイドライン:
Enterprise JavaBeans (EJB)』で提供します。
永続属性と主キー
エンティティー Bean の永続属性と主キーを識別します。
Bean 管理による持続性 (BMP) とコンテナー管理による持続性 (CMP)
これら 2 つの持続性のアプローチの説明については、『概念: J2EE プラットフォームの概要』を参照してください。
一般に、コンテナー管理による持続性は、Bean 管理による持続性よりも小規模でシンプルなコードで済みます。
一方、性能を重視する場合、またはデータベース・マッピングの論理をより柔軟に制御する必要がある場合、Bean 管理による持続性を使用する必要があります。
EJB コンテナーが必要なサポート・レベルでない場合、サード・パーティーのオブジェクト・リレーショナルのマッピング・ツールを検討することもできます。ツールは、Bean 管理による持続性で使用したり、ツールをコンテナーに統合し、コンテナー管理による持続性で使用したりします。
コンテナー管理による持続性を選択し、データ・モデルが存在する場合、CMP エンティティー EJB をデータ・モデルのデータベース・テーブルにマッピングできます。このマッピングは、最終的には EJB モジュールの配置記述子に反映されます。詳しくは、『ガイドライン: J2EE モジュールのアセンブル』を参照してください。
Bean 管理による持続性を選択した場合、データ・アクセス・オブジェクト (DAO) クラス内のすべてのデータベース・アクセスをカプセル化してください。これは、基盤となるストレージ・メカニズムを隠蔽し、カプセル化する Java クラスであり、データ・ソースへのインターフェースが変更された場合に、変更の影響を受けません。データ・ソースが常に RDBMS であると予想される場合でも、SQL 構文と形式に微妙な違いが生じる可能性があるため、DAO クラスで分離する利点があります。
詳しくは、「Core J2EE Patterns - Data Access Object Pattern」 (参考資料 ALU01) を参照してください。
|