コンテナ管理パーシスタンス (CMP) では、データのアクセス、同期化、および保持をコンテナが行います。ejbLoad
、ejbStore
、ejbCreate
などのメソッドで、データベース ステートメントをコーディングする必要はありません。
JRun で CMP を利用するには Bean の公開記述子の要素を使用します。Bean のステートを保持する役割はコンテナがすべて果たすので、CMP を使用すると Bean 実装の複雑さが大幅に軽減されます。
CMP サポートは、JDBC データ ストアと instance.store
のどちらでも使用できます。これらのアクションに関するマッピング情報や実際の SQL ステートメントを Bean の公開記述子で指定します。公開記述子を使用していない場合は、Bean プロパティで指定します。
JDBC のプリペアド ステートメントとストアド プロシージャの呼び出しが両方とも完全にサポートされます。JRun では、ほかの高価なリソースと同様に、効率を最大限に高めるために JDBC ステートメントを自動的にプールして管理します。
実行される SQL ステートメントの順序を詳細に制御できます。パラメータと実行される SQL ステートメントの結果は、どちらも Bean インスタンス フィールドを使用して格納します。
この CMP に対するアプローチに追加される利点として、複数のテーブルだけでなく、時には複数のデータベース内に実際に格納されているデータによって Bean のステートを設定できることが挙げられます。複数のデータベースを利用する場合、一連の SQL ステートメントを指定して、パーシスタンス処理中に実行できます。