12.7. 지속성 유닛 배포
지속성 유닛은 다음을 포함하는 논리 그룹화입니다.
- 엔터티 관리자 팩토리 및 해당 엔터티 관리자의 구성 정보.
- 엔터티 관리자가 관리하는 클래스.
- 클래스의 데이터베이스 매핑을 지정하는 메타데이터 매핑.
persistence.xml 파일에는 데이터 소스 이름을 포함한 지속성 유닛 구성이 포함되어 있습니다. JAR 파일 또는 /META-INF/ 디렉터리에 persistence.xml 파일이 포함된 디렉터리는 지속성 유닛의 루트로 사용됩니다.
Jakarta EE 환경에서 지속성 유닛의 루트는 다음 중 하나여야 합니다.
- 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>