12.7. 永続ユニットのデプロイ

永続ユニットは、以下が含まれる論理グループです。

  • エンティティーマネージャーファクトリーおよびそのエンティティーマネージャーの設定情報。
  • エンティティーマネージャーによって管理されるクラス。
  • データベースへのクラスのマッピングを指定するメタデータのマッピング。

persistence.xml ファイルには、データソース名を含む永続ユニット設定が含まれています。/META-INF/ ディレクトリーに persistence.xml ファイルが含まれる JAR ファイルまたはディレクトリーは、永続ユニットのルートと呼ばれます。

Java EE 環境では、永続ユニットのルートは以下の 1 つである必要があります。

  • EJB-JAR ファイル
  • WAR ファイルの /WEB-INF/classes/ ディレクトリー
  • WAR ファイルの /WEB-INF/lib/ ディレクトリーにある JAR ファイル
  • EAR ライブラリーディレクトリーの JAR ファイル
  • アプリケーションクライアントの JAR ファイル

例: 永続設定ファイル

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_2.xsd"
   version="2.2">
   <persistence-unit name="example" transaction-type="JTA">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
      <mapping-file>ormap.xml</mapping-file>
      <jar-file>TestApp.jar</jar-file>
      <class>org.test.Test</class>
      <shared-cache-mode>NONE</shared-cache-mode>
      <validation-mode>CALLBACK</validation-mode>
      <properties>
         <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
      </properties>
   </persistence-unit>
</persistence>