12.7. 部署 Persistence 单元
持久性单元是逻辑分组,包括:
- 实体管理器工厂及其实体管理器的配置信息。
- 由实体管理器管理的类.
- 映射元数据,指定类到数据库的映射.
persistence.xml 文件包含持久性单元配置,包括数据源名称。JAR 文件或 /META-INF/ 目录包含 persistence.xml 文件的目录被称为持久性单元的根目录。
在 Jakarta EE 环境中,持久性单元的根必须是以下之一:
- EJB-JAR 文件
-
WAR 文件的
/WEB-INF/classes/目录 -
WAR 文件的
/WEB-INF/lib/目录中的 JAR 文件 - EAR 库目录中的 JAR 文件
- 应用程序客户端 JAR 文件
示例: Persistence 设置文件
<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>