溫馨提示×

Persistence.xml 配置說明

小云
197
2023-09-15 07:10:36
欄目: 編程語言

persistence.xml是Java Persistence API(JPA)中用于配置持久化單元(Persistence Unit)的文件。

在persistence.xml中,可以配置以下內(nèi)容:

  1. 持久化單元的名稱(name):用于標識一個持久化單元,可以通過該名稱在代碼中獲取EntityManagerFactory。

  2. 持久化提供程序(provider):指定用于實現(xiàn)JPA規(guī)范的持久化提供程序的類名。例如,Hibernate、EclipseLink等。

  3. 數(shù)據(jù)源(jta-data-source和non-jta-data-source):指定用于連接數(shù)據(jù)庫的數(shù)據(jù)源。如果使用Java EE容器進行事務(wù)管理,則使用jta-data-source;如果使用JPA實現(xiàn)提供的事務(wù)管理,則使用non-jta-data-source。

  4. 類映射(class):指定需要持久化的實體類。可以使用標簽或標簽來配置。

  5. 映射文件(mapping-file):指定使用XML文件進行實體類和數(shù)據(jù)庫表之間的映射。

  6. 屬性(property):指定配置持久化提供程序的屬性。例如,數(shù)據(jù)庫連接URL、用戶名、密碼等。

下面是一個示例的persistence.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"
version="2.2">
<persistence-unit name="myPersistenceUnit" transaction-type="JTA">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:/myDataSource</jta-data-source>
<class>com.example.entity.User</class>
<mapping-file>META-INF/orm.xml</mapping-file>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="password"/>
</persistence-unit>
</persistence>

在上述示例中,配置了一個名為"myPersistenceUnit"的持久化單元,使用Hibernate作為持久化提供程序。數(shù)據(jù)源使用JTA方式連接,并指定了一個實體類和一個映射文件。同時,配置了連接數(shù)據(jù)庫的URL、用戶名和密碼等屬性。

0