5.9 persistence.xmlの配置
persistence.xmlはEJB-JAR,WAR,EARの中に配置します。persistence.xmlは必ずMETA-INFの下に置いてください。META-INFの下にpersistence.xmlを持つパスを永続化ユニットのルートと呼びます。
persistence.xmlを配置できる場所を次に示します。
-
EJB-JARのMETA-INF/persistence.xml
-
WARのWEB-INF/classes/META-INF/persistence.xml
-
WARのWEB-INF/libの下に置いたjarファイルの中のMETA-INF/persistence.xml
-
EARのルートディレクトリに置いたjarファイルの中のMETA-INF/persistence.xml
-
EARのライブラリディレクトリに置いたjarファイルの中のMETA-INF/persistence.xml
一つのpersistence.xmlには複数の永続化ユニットを定義できます。永続化ユニットには名前を付ける必要があります。ただし,一つのEJB-JAR,WAR,EAR内には,重複した名前の永続化ユニットを複数定義することはできません。
EAR内に定義した永続化ユニットで管理されるクラスは,アプリケーションのクラスローダでロードされ,アプリケーション内のすべてのコンポーネントから参照できます。
また,別々のEJB-JARやWAR内のコンポーネントから,同じエンティティクラスを参照する場合,仮に永続化ユニットが別々であったとしても参照されるクラスは同じ一意なクラスとなります。