Jump to: navigation, search

Difference between revisions of "EclipseLink/Examples/JPA/Configure"

(29 intermediate revisions by 4 users not shown)
Line 1: Line 1:
To use JPA you will need to have the following configurations:
+
[[Category:EclipseLink/Example/JPA|Configuration]]
  
* Jar(s) containing your Entities, Embeddable's and MappedSuperclasses (all decorated with the necessary annotations or XML descriptors
+
To use JPA you will need to have the following configured:
* Properties
+
 
** javax.persistence.transactionType - Standard JPA PersistenceUnitTransactionType property, JTA or RESOURCE_LOCAL.
+
* '''persistence.xml''' - which defines your persistence units and should be in the '''meta-inf/''' directory of your persistence unit jar file, or classpath.
** javax.persistence.jtaDataSource - Standard JPA JTA DataSource name.
+
<blockquote>
** javax.persistence.nonJtaDataSource - Standard JPA non-JTA DataSource name.
+
<source lang="xml">
 +
<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>
 +
</source>
 +
</blockquote>
 +
 
 +
 
 +
* [[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Entities/Creating_and_Configuring_Entities|Entity]], [[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Entities/Embeddable|Embeddable]] and [[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Entities/MappedSuperclass|MappedSuperclass]]
 +
** These classes should be decorated with the necessary annotations, and/or
 +
** Be defined in the orm.xml (or some other mapping file) using the XML descriptors.
 +
 +
 
 +
* 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 (was "eclipselink.jdbc.driver" in EclipseLink 1.1).
 +
** "javax.persistence.jdbc.url" - Standard JPA 2.0 JDBC URL for JSE deployments (was "eclipselink.jdbc.url" in EclipseLink 1.1).
 +
** "javax.persistence.jdbc.user" - Standard JPA 2.0 database user for JSE deployments (was "eclipselink.jdbc.user" in EclipseLink 1.1).
 +
** "javax.persistence.jdbc.password" - Standard JPA 2.0 database password for JSE deployments (was "eclipselink.jdbc.password" in EclipseLink 1.1).
 +
 
 +
For a complete list of persistence unit properties see, [http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/config/PersistenceUnitProperties.html PersistenceUnitProperties]
 +
 
 +
See [[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Configuration/JPA/persistence.xml|Configuring Persistence Units]] in the ''[[EclipseLink/UserGuide|EclipseLinkUser's Guide]]'' for details.

Revision as of 09:24, 2 November 2011


To use JPA you will need to have the following configured:

  • persistence.xml - which defines your persistence units and should be in the meta-inf/ directory of your persistence unit jar file, or classpath.
<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>


  • Entity, Embeddable and MappedSuperclass
    • These classes should be decorated with the necessary annotations, and/or
    • Be defined in the orm.xml (or some other mapping file) using the XML descriptors.


  • 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 (was "eclipselink.jdbc.driver" in EclipseLink 1.1).
    • "javax.persistence.jdbc.url" - Standard JPA 2.0 JDBC URL for JSE deployments (was "eclipselink.jdbc.url" in EclipseLink 1.1).
    • "javax.persistence.jdbc.user" - Standard JPA 2.0 database user for JSE deployments (was "eclipselink.jdbc.user" in EclipseLink 1.1).
    • "javax.persistence.jdbc.password" - Standard JPA 2.0 database password for JSE deployments (was "eclipselink.jdbc.password" in EclipseLink 1.1).

For a complete list of persistence unit properties see, PersistenceUnitProperties

See Configuring Persistence Units in the EclipseLinkUser's Guide for details.