Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/persistence.xml
persistence.xml
A persistence unit configures various details that are required when you acquire an entity manager. You specify a persistence unit by name when you acquire an entity manager factory.
You configure persistence units in the JPA persistence descriptor file: persistence.xml. This file should be in the meta-inf/ directory of your persistence unit jar file, or classpath.
In this file, you can specify the vendor extensions that this reference describes by using a <properties> element.
<persistence-unit name="default" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <!-- By default your mappings can be defined in orm.xml file, --> <!-- which is discovered automatically. --> <mapping-file>META-INF/my-mappings.xml</mapping-file> ... <jar-file>my-additional-jar.jar</jar-file> ... <!-- Enables auto discovery of persistent classes, --> <!-- otherwise they must be listed using <class> --> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> ... </properties> </persistence-unit>
How to Specify the Persistence Unit Name
If you are developing your application in a Java EE environment, ensure that the persistence unit name is unique within each module. For example, you can define only one persistence unit with the name EmployeeService in an emp_ejb.jar file. The following example shows how to define the name of the persistence unit:
<persistence-unit name="EmployeeService">
For more information, see Section 6.2.1 "persistence.xml file" in the JPA Specification.
Additional Properties
Use these 'persistence.xml or persistence unit properties to further configure your JPA application.
- javax.persistence.transactionType - Standard JPA PersistenceUnitTransactionType property: JTA or RESOURCE_LOCAL
- javax.persistence.jtaDataSource - Standard JPA JTA DataSource name.
- javax.persistence.nonJtaDataSource - Standard JPA non-JTA DataSource name.
- javax.persistence.jdbc.driver - Standard JPA 2.0 JDBC driver class name for JSE deployments
In EclipseLink 1.1, this property was eclipselink.jdbc.driver. - javax.persistence.jdbc.url - Standard JPA 2.0 JDBC URL for JSE deployments
In EclipseLink 1.1, this property was eclipselink.jdbc.url. - javax.persistence.jdbc.user - Standard JPA 2.0 database user for JSE deployments
In EclipseLink 1.1, this property was eclipselink.jdbc.user. - javax.persistence.jdbc.password - Standard JPA 2.0 database password for JSE deployments
In EclipseLink 1.1, this property was eclipselink.jdbc.password.