5.4.4 永続化ユニットとは
アプリケーションからJPAを使用する場合,次のような情報を定義する必要があります。
-
アプリケーション内のエンティティクラスの情報
-
エンティティクラスとデータベーステーブルとのマッピング情報
-
JPAプロバイダがデータベースコネクションを取得するためのデータソースの情報
これらの情報を定義したものを永続化ユニットといいます。
永続化ユニットは,persistence.xmlで定義します。Java EE環境でJPAを使用する場合,persistence.xmlはユーザがアプリケーションをパッケージングするときに,EJB-JAR,WAR,またはEARの中の決められた場所に配置します。
persistence.xmlファイルの中には,永続化ユニットの定義を複数含めることができます。また,一つのアプリケーションの中に複数のpersistence.xmlを含めることもできます。これによって,一つのアプリケーションの中に,複数の永続化ユニットを定義できます。アプリケーション内に複数の永続化ユニットが定義されている場合,アプリケーションがどの永続化ユニットを使用するかは,@PersistenceContextのunitName属性で指定します。なお,アプリケーション内に一つだけ永続化ユニットが定義されている場合など,使用する永続化ユニットを一意に特定できる場合には,unitName属性は省略できます。