Difference between revisions of "EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/persistence.xml"

From Eclipsepedia

Jump to: navigation, search
m
Line 7: Line 7:
 
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.  
 
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 in the classpath.
+
You configure persistence units in the JPA persistence descriptor file: <tt>persistence.xml</tt>. This file should be in the <tt>meta-inf/</tt> directory of your persistence unit JAR file or in the classpath.
  
In this file, you can specify the vendor extensions that this reference describes by using a '''&lt;properties&gt;''' element.  
+
In this file, you can specify the vendor extensions that this reference describes by using a <tt>&lt;properties&gt;</tt> element.  
  
 
<source lang="xml">
 
<source lang="xml">
Line 34: Line 34:
 
==How to Specify the Persistence Unit Name==
 
==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:
+
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 <tt>EmployeeService</tt> in an <tt>emp_ejb.jar</tt> file. The following example shows how to define the name of the persistence unit:
  
 
  <persistence-unit name="EmployeeService">
 
  <persistence-unit name="EmployeeService">
Line 45: Line 45:
 
==Additional Properties==
 
==Additional Properties==
 
Use these '''persistence.xml''' or persistence unit properties to further configure your JPA application.
 
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'''
+
* <tt>javax.persistence.transactionType</tt> - Standard JPA <tt>PersistenceUnitTransactionType</tt> property: <tt>JTA</tt> or <tt>RESOURCE_LOCAL</tt>
* '''javax.persistence.jtaDataSource''' - Standard JPA JTA DataSource name.
+
* <tt>javax.persistence.jtaDataSource</tt> - Standard JPA JTA <tt>DataSource</tt> name.
* '''javax.persistence.nonJtaDataSource''' - Standard JPA non-JTA DataSource name.
+
* <tt>javax.persistence.nonJtaDataSource</tt> - Standard JPA non-JTA <tt>DataSource</tt> name.
* '''javax.persistence.jdbc.driver''' - Standard JPA 2.0 JDBC driver class name for JSE deployments <br />
+
* <tt>javax.persistence.jdbc.driver</tt> - Standard JPA 2.0 JDBC driver class name for JSE deployments <br />
{{EclipseLink_Note|note=In EclipseLink 1.1, this property was '''eclipselink.jdbc.driver'''.}}
+
{{EclipseLink_Note|note=In EclipseLink 1.1, this property was <tt>eclipselink.jdbc.driver</tt>.}}
* '''javax.persistence.jdbc.url''' - Standard JPA 2.0 JDBC URL for JSE deployments<br />
+
* <tt>javax.persistence.jdbc.url</tt> - Standard JPA 2.0 JDBC URL for JSE deployments<br />
{{EclipseLink_Note|note=In EclipseLink 1.1, this property was '''eclipselink.jdbc.url'''.}}
+
{{EclipseLink_Note|note=In EclipseLink 1.1, this property was <tt>eclipselink.jdbc.url'''.}}
  
* '''javax.persistence.jdbc.user''' - Standard JPA 2.0 database user for JSE deployments<br />
+
* <tt>javax.persistence.jdbc.user</tt> - Standard JPA 2.0 database user for JSE deployments<br />
{{EclipseLink_Note|note=In EclipseLink 1.1, this property was '''eclipselink.jdbc.user'''.}}
+
{{EclipseLink_Note|note=In EclipseLink 1.1, this property was <tt>eclipselink.jdbc.user</tt>.}}
  
* '''javax.persistence.jdbc.password''' - Standard JPA 2.0 database password for JSE deployments<br />
+
* <tt>javax.persistence.jdbc.password</tt> - Standard JPA 2.0 database password for JSE deployments<br />
{{EclipseLink_Note|note=In EclipseLink 1.1, this property was '''eclipselink.jdbc.password'''. }}
+
{{EclipseLink_Note|note=In EclipseLink 1.1, this property was <tt>eclipselink.jdbc.password</tt>. }}
  
 
For a complete list of persistence unit properties see, [http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/config/PersistenceUnitProperties.html PersistenceUnitProperties].
 
For a complete list of persistence unit properties see, [http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/config/PersistenceUnitProperties.html PersistenceUnitProperties].

Revision as of 13:10, 21 March 2011

EclipseLink JPA

link="http://wiki.eclipse.org/EclipseLink"
EclipseLink
Website
Download
Community
Mailing ListForumsIRC
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse Source

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 in the 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">
Elug javaspec icon.gif

For more information, see Section 8.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

Elug note icon.png

Note: In EclipseLink 1.1, this property was eclipselink.jdbc.driver.

  • javax.persistence.jdbc.url - Standard JPA 2.0 JDBC URL for JSE deployments

Elug note icon.png

Note: In EclipseLink 1.1, this property was eclipselink.jdbc.url. </div>

  • <tt>javax.persistence.jdbc.user - Standard JPA 2.0 database user for JSE deployments

Elug note icon.png

Note: In EclipseLink 1.1, this property was eclipselink.jdbc.user.

  • javax.persistence.jdbc.password - Standard JPA 2.0 database password for JSE deployments

Elug note icon.png

Note: In EclipseLink 1.1, this property was eclipselink.jdbc.password.

For a complete list of persistence unit properties see, PersistenceUnitProperties.

Eclipselink-logo.gif
Version: 2.2.0 DRAFT
Other versions...