JPA的persistence.xml文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JPA的persistence.xml⽂件

persistence.xml⽂件必须定义在classpath路径下的META-INF⽂件夹中。

我们看看基于Hibernate提供的⼀个⽐较完整的JPA2.0的persistence.xml⽂件。

persistence.xml: 

1<?xml version="1.0" encoding="UTF-8"?>

2<persistence version="2.0" xmlns="/xml/ns/persistence"

3 xmlns:xsi="/2001/XMLSchema-instance"

4 xsi:schemaLocation="/xml/ns/persistence

5 /xml/ns/persistence/persistence_2_0.xsd">

6

7<!--必须要有name属性,不能为空 -->

8<persistence-unit name="jpaPU" transaction-type="RESOURCE_LOCAL">

9<!--可选 -->

10<provider>org.hibernate.ejb.HibernatePersistence</provider>

11<!--可选 -->

12<jta-data-source>java:/DefaultDS</jta-data-source>

13<!--可选 -->

14<mapping-file>ormap.xml</mapping-file>

15<!--可选 -->

16<jar-file>MyApp.jar</jar-file>

17<!--可选 -->

18<class>org.acme.Employee</class>

19<!--可选 -->

20<shared-cache-mode>ENABLE_SELECTOVE</shared-cache-mode>

21<!--可选 -->

22<validation-mode>CALLBACK</validation-mode>

23

24<!--⼚商的特定属性 -->

25<properties>

26<!--配置Hibernate⽅⾔ -->

27<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>

28<!--配置数据库驱动 -->

29<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>

30<!--配置数据库⽤户名 -->

31<property name="ername" value="root"/>

32<!--配置数据库密码 -->

33<property name="hibernate.connection.password" value="root"/>

34<!--配置数据库url -->

35<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa?useUnicode=true&characterEncoding=UTF-8"/>

36<!--设置外连接抓取树的最⼤深度 -->

37<property name="hibernate.max_fetch_depth" value="3"/>

38<!--⾃动输出schema创建DDL语句 -->

39<property name="hibernate.hbm2ddl.auto" value="update"/>

40</properties>

41</persistence-unit>

42

43</persistence>

xsi:schemaLocation="/xml/ns/persistence /xml/ns/persistence/persistence_2_0.xsd"

要注意使⽤的是2.0规范

name

JPA2.0规范要求每⼀个持久化单元必须有⼀个名字,不能为空。即persistence-unit name="manager1"的name不能为空。

transaction-type

使⽤的事务类型。有JTA和RESOURCE_LOCAL两种类型可以选择。在JavaEE环境中默认为JTA,在JavaSE环境中默认为RESOURCE_LOCAL。当在persistent.xml⽂件使⽤<jta-data-source>,默认就是JTA事务,使⽤<non-jta-data-source>,默认就是使⽤RESOURCE_LOCAL事务。这两种事务的区别不在这⾥讨论。

provider

EJB Persistence provider的⼀个实现类。如果不是使⽤多个⼚商的 EJB Persistence实现,是不需要定义的。

mapping-file

指定映射⽂件的位置

jar-file

相关文档
最新文档