Red Hat Training
A Red Hat training course is available for Red Hat JBoss Web Server
第2章 アーキテクチャ
2.1. 定義
EJB3 は Java EE 5.0 プラットフォームの一部です。EJB3 の永続化は EJB3 コンテナと特定のコンテナの外部で実行されるスタンドアロン J2SE アプリケーションで利用可能です。両方の環境では以下のプログラミングインタフェースとアーティファクトが利用できます。
EntityManagerFactory
- エンティティマネージャファクトリは、エンティティマネージャインスタンスを提供し、すべてのインスタンスは同じデータベースに接続して特定の実装で定義されたのと同じデフォルト設定を使用します。複数のデータストアにアクセスするために複数のエンティティマネージャファクトリを準備できます。このインタフェースはネイティブの Hibernate の
SessionFactory
に似ています。 EntityManager
- 特定の作業単位のデータベースにアクセスするには
EntityManager
API が使用されます。この API は、永続エンティティインスタンスを作成および削除し、プライマリキー ID によりエンティティを見つけ、すべてのエンティティに対して問い合わせるために使用されます。このインスタンスは Hibernate のSession
に似ています。 - 永続コンテキスト
- 永続コンテキストは、永続エンティティ ID に対して一意のエンティティインスタンスがあるエンティティインスタンスのセットです。永続コンテキスト内で、エンティティインスタンスとライフサイクルは特定のエンティティマネージャで管理されます。このコンテキストのスコープはトランザクションまたは拡張された作業単位のいずれかです。
- 永続性単位
- 該当するエンティティマネージャにより管理できるエンティティタイプのセットは、永続性単位で定義されます。永続性単位はアプリケーションに関連するか、またはアプリケーションによりグループ化されたすべてのクラスセット (単一のデータストアに対するマッピングに配置する必要がある) を定義します。
- コンテナにより管理されたエンティティマネージャ
- ライフサイクルがコンテナにより管理されたエンティティマネージャ
- アプリケーションにより管理されたエンティティマネージャ
- ライフサイクルがアプリケーションにより管理されたエンティティマネージャ
- JTA エンティティマネージャ
- JTA トランザクションに関連するエンティティマネージャ
- リソースローカルエンティティマネージャ
- リソーストランザクションを使用するエンティティマネージャ (非 JTA トランザクション)