Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド |
目次 索引 |
第3部 EJB編 | > 第13章 Entity Beanの実装 | > 13.1 Entity Beanの概要 |
Entity BeanにはBMP(Bean-managed persistence)とCMP(Container-managed persistence)の2種類が存在し、それぞれ以下の特長があります。作成するEntity Beanの形態を選択してください。
EJBアプリケーション内に適切なデータベース操作文を発行する処理を記述することにより、EJBアプリケーション自身がデータの永続化を行います。
状況に応じたきめ細かいデータベース管理ができます。
◆ CMP1.1コンテナがデータの永続化を行います。このため、EJBアプリケーション自身にデータベース操作文を記述することなく、データベースにアクセスできます。
◆ CMP2.0CMP2.0ではCMP1.1の機能に加えて、Entity Beanが別のEntity Beanとの関係を保持する機能を備えたことにより、CMP1.1と比べてはるかに複雑化したデータをEntity Beanに関連づけることができます。
EJBアプリケーションにデータベース操作文を記述する必要がないため、ポータビリティ性の高いアプリケーションが容易に開発できます。
CMP1.1とCMP2.0の違いについては、CMP1.1とCMP2.0の差異を参照してください。
以下に、口座引き落とし処理を例にして、BMPとCMPのEntity Beanを利用した処理イメージを示します。
CMPマッピング定義の定義情報についての詳細はInterstage管理コンソールのヘルプを参照してください。
CMP2.0の定義情報についての詳細はInterstage管理コンソールのヘルプを参照してください。
以下に、CMP1.1とCMP2.0の差異を表で示します。
|
CMP1.1 |
CMP2.0 |
relationshipの管理 |
アプリケーション内で解決してください。 |
deployment descriptorファイルにリレーションを定義することで、CMP2.0のBean間の関係を定義できます。定義された関係はコンテナが管理します。 |
finderメソッドの検索条件 |
Interstage StudioでEnterprise Java Bean開発時に指定します。また、Interstage管理コンソールまたはejbdefimportコマンドで編集できます。 |
Enterprise Java Bean開発時にdeployment descriptorファイルにEJB QLを定義します。 |
CMFの更新 |
ビジネスメソッド内でEnterprise Beanクラスに定義したCMFを直接更新します。 |
deployment descriptorに定義したCMFに対応する抽象アクセッサメソッドをEnterprise Beanクラスに定義して、必ず抽象アクセサメソッドでCMFを更新します。 |
finderメソッドの復帰値の型 |
java.util.Collection型とjava.util.Enumeration型を使用できます。 |
java.util.Collection型が使用できます。 |
ejbSelectメソッドの使用 |
使用できません。 |
使用できます。 |
目次 索引 |