EJB 3.0(Public Draft)入門記 Chapter 5 その1

今日からChapter 5 突入です。ここはEntityManagerがお題です。

Chapter 5 EntityManager

エンティティマネジャーのライフサイクルはJ2EEコンテナもしくはアプリケーションによって管理されるそうです。アプリケーションはJ2EEJ2SEどちらの環境においてもエンティティマネジャーを管理できるらしいです。

ところで、DIコンテナってここで言っているJ2EEコンテナ、アプリケーションどっちに分類されるのでしょう?「DIコンテナはJ2EEコンテナである」というのは弊害(じゃなくて)語弊がありそうですが、どちらかといえばここでの分類上J2EEコンテナ側に属するような気がします。J2EEコンテナもDIコンテナもエンティティマネジャーを含めたコンポーネントのライフサイクル管理をやってくれるはずだからです(たぶん)。ということで、一般的なシステムではアプリケーションでエンティティマネジャーのライフサイクルを管理する必要ってあんまりなさそうな気がします。

5.1 Entity Managers

だれがエンティティマネジャーのライフサイクルを管理するかで、コンテナ管理のエンティティマネジャーとアプリケーション管理のエンティティマネジャーに分類することができます。両方が、WebコンテナとEJBコンテナでサポートされる必要があるらしいです。
J2SEの環境ではアプリケーション管理のエンティティマネジャーのみがサポートされるらしいです。

短いですが、その1終わり。