blob: 2259d782a99e74c76451d9e008df3de34ea8638d [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>About the Persistence Unit | EclipseLink 3.0.x Understanding EclipseLink</title>
<meta name="generator" content="Oracle DARB XHTML Converter (Mode = document) - Version 1.0.22 Build 1" />
<meta name="date" content="2014-06-10T10:39:52Z" />
<meta name="robots" content="noarchive" />
<meta name="doctitle" content="About the Persistence Unit" />
<meta name="relnum" content="3.0" />
<link rel="stylesheet" type="text/css" href="../../dcommon/style.css" media="screen" />
<link rel="copyright" href="../../dcommon/html/cpyr.htm" title="Copyright" type="text/html" />
<link rel="start" href="../../index.htm" title="Home" type="text/html" />
<link rel="contents" href="toc.htm" title="Contents" type="text/html" />
<link rel="prev" href="app_dev.htm" title="Previous" type="text/html" />
<link rel="next" href="app_dev002.htm" title="Next" type="text/html" />
<!-- START: Disqus --><script type="text/javascript"> var disqus_developer = 0; </script><!-- END: Disqus --><!-- START: Sharethis --><script type="text/javascript">var switchTo5x=true;</script><script type="text/javascript" src="http://w.sharethis.com/button/buttons.js"></script><script type="text/javascript" src="http://s.sharethis.com/loader.js"></script> <!-- END: Sharethis --></head>
<body bgcolor="#FFFFFF"><iframe id="docheader" frameborder="0" framemargin="0" scrolling="no" src="../../dcommon/header.html"></iframe><script src="http://www.google.com/jsapi" type="text/javascript"></script><script type="text/javascript"> google.load('search', '1', {language : 'en'}); google.setOnLoadCallback(function() { var customSearchOptions = {}; var googleAnalyticsOptions = {}; googleAnalyticsOptions['queryParameter'] = 'q'; googleAnalyticsOptions['categoryParameter'] = ''; customSearchOptions['googleAnalyticsOptions'] = googleAnalyticsOptions; var customSearchControl = new google.search.CustomSearchControl( '016171230611334810008:mdbgdwjv8zu', customSearchOptions); customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); var options = new google.search.DrawOptions(); options.setSearchFormRoot('cse-search-form'); customSearchControl.draw('cse', options); }, true);</script><link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" /><div id="cse" style="width:100%;"></div>
<div class="header"><a id="top" name="top"></a>
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td align="left" valign="top"><div class="booktitle">Understanding EclipseLink,
<b>3.0</b><br /></font></td>
<td valign="bottom" align="right" width="144">
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>&nbsp;</td>
<td align="center" valign="top"><a href="toc.htm"><img src="../../dcommon/images/contents.png" alt="Go To Table Of Contents" border="0" height="16" width="16" /><br />
</td><td>&nbsp;</td><td align="center"><a href="../../" target="_top" class="external text" title="Search" rel="nofollow"><img src="../../dcommon/images/search.png" alt="Search" style="border:0;" /><br /><span class="mini"></span></a></td><td>&nbsp;</td><td align="center"><a href="../eclipselink_otlcg.pdf" title="PDF" target="_blank"><img src="../../dcommon/images/pdf_icon.png" style="padding-right:5px;border:0" alt="PDF"></a></td>
</tr>
</table>
</td>
</tr>
</table>
<hr />
<table class="navigation simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100" align="center">
<tr>
<td align="center"><a href="app_dev.htm"><img src="../../dcommon/images/larrow.png" alt="Previous" border="0" height="16" width="16" /></a></td>
<td align="center"><a href="app_dev002.htm"><img src="../../dcommon/images/rarrow.png" alt="Next" border="0" height="16" width="16" /></a></td>
<td>&nbsp;</td>
</tr>
</table>
</div>
<!-- class="header" -->
<div class="ind"><!-- End Header --><a id="BABHCJDG" name="BABHCJDG"></a><a id="OTLCG94288" name="OTLCG94288"></a>
<div class="sect1"><!-- infolevel="all" infotype="General" -->
<h1 class="sect1"><font face="arial, helvetica, sans-serif" color="#330099">About the Persistence Unit</font></h1>
<p>A persistence unit defines the details that are required when you acquire an entity manager. To package your EclipseLink JPA application, you must configure the persistence unit during the creation of the <code>persistence.xml</code> file. Define each persistence unit in a <code>persistence-unit</code> element in the <code>persistence.xml</code> file.</p>
<p>Use the <code>persistence.xml</code> file to package your entities. Once you choose a packaging strategy, place the <code>persistence.xml</code> file in the <code>META-INF</code> directory of the archive of your choice. The following sections provide more detail on how to specify the persistence unit. For more information and examples, see "persistence.xml file" in the <a href="http://jcp.org/en/jsr/detail?id=338">JPA Specification</a>. For information on EclipseLink extensions to the <code>persistence.xml</code> file, see "Persistence Property Extensions Reference" in <em>Jakarta Persistence API (JPA) Extensions Reference for EclipseLink</em>.</p>
<ul>
<li>
<p><a href="#BGBCGCBI">About the Persistence Unit Name</a></p>
</li>
<li>
<p><a href="#BGBJGFGJ">About the Transaction Type Data Source</a></p>
</li>
<li>
<p><a href="#BGBEGAEA">About Mapping Files</a></p>
</li>
<li>
<p><a href="#BGBHFFAG">About Managed Classes</a></p>
</li>
<li>
<p><a href="#BGBBEFAC">About Vendor Properties</a></p>
</li>
<li>
<p><a href="#BGBDCBJJ">About the Deployment Classpath</a></p>
</li>
<li>
<p><a href="#BGBJGHBG">About Persistence Unit Packaging Options</a></p>
</li>
<li>
<p><a href="#BGBCJBGD">About the Persistence Unit Scope</a></p>
</li>
<li>
<p><a href="#CHDBJIEH">About Composite Persistence Units</a></p>
</li>
</ul>
<a id="BGBCGCBI" name="BGBCGCBI"></a><a id="OTLCG94291" name="OTLCG94291"></a>
<div class="sect2">
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About the Persistence Unit Name</font></h2>
<p>If you are developing your application in a Jakarta 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 <code>EmployeeService</code> in an <code>emp_ejb.jar</code> file.</p>
<p>For more information, see <a href="http://jcp.org/en/jsr/detail?id=338">"name" in the JPA Specification</a>.</p>
</div>
<!-- class="sect2" -->
<div class="sect2"><a id="sthref23" name="sthref23"></a>
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About the Persistence Provider</font></h2>
<p>The persistence provider defines the implementation of JPA. It is defined in the <code>provider</code> element of the <code>persistence.xml</code> file. Persistence providers are vendor-specific. The persistence provider for EclipseLink is <code>org.eclipse.persistence.jpa.PersistenceProvider</code>.</p>
</div>
<!-- class="sect2" -->
<a id="BGBJGFGJ" name="BGBJGFGJ"></a><a id="OTLCG94292" name="OTLCG94292"></a>
<div class="sect2">
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About the Transaction Type Data Source</font></h2>
<p>If you are developing your application in a Jakarta EE environment, use the default transaction type: <code>JTA</code> (for Java Transaction API) and specify the data source in a <code>jta-data-source</code> element.</p>
<p>If you are using a data source that does not conform to the JTA, then set the <code>transaction-type</code> element to <code>RESOURCE_LOCAL</code> and specify a value for the <code>non-jta-data-source</code> element.</p>
<p>If you are using the default persistence provider, <code>org.eclipse.persistence.jpa.PersistenceProvider</code>, then the provider attempts to automatically detect the database type based on the connection metadata. This database type is used to issue SQL statements specific to the detected database type. You can specify the optional <code>eclipselink.target-database</code> property to guarantee that the database type is correct.</p>
<p>For more information, see <a href="http://jcp.org/en/jsr/detail?id=338">"transaction-type"</a> and <a href="http://jcp.org/en/jsr/detail?id=338">"provider" in the JPA Specification</a>.</p>
</div>
<!-- class="sect2" -->
<div class="sect2"><a id="sthref24" name="sthref24"></a>
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About Logging</font></h2>
<p>EclipseLink provides a logging utility even though logging is not part of the JPA specification. Hence, the information provided by the log is EclipseLink JPA-specific. With EclipseLink, you can enable logging to view the following information:</p>
<ul>
<li>
<p>Configuration details</p>
</li>
<li>
<p>Information to facilitate debugging</p>
</li>
<li>
<p>The SQL that is being sent to the database</p>
</li>
</ul>
<p>You can specify logging in the <code>persistence.xml</code> file. EclipseLink logging properties let you specify the level of logging and whether the log output goes to a file or standard output. Because the logging utility is based on <code>java.util.logging</code>, you can specify a logging level to use.</p>
<p>The logging utility provides nine levels of logging control over the amount and detail of the log output. Use <code>eclipselink.logging.level</code> to set the logging level, for example:</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.logging.level" value="FINE"/&gt;
</pre>
<p>By default, the log output goes to <code>System.out</code> or to the console. To configure the output to be logged to a file, set the property <code>eclipselink.logging.file</code>, for example:</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.logging.file" value="output.log"/&gt;
</pre>
<p>EclipseLink's logging utility is pluggable, and several different logging integrations are supported, including <code>java.util.logging</code>. To enable <code>java.util.logging</code>, set the property <code>eclipselink.logging.logger</code>, for example:</p>
<pre xml:space="preserve" class="oac_no_warn">
&lt;property name="eclipselink.logging.logger" value="JavaLogger"/&gt;
</pre>
<p>For more information about EclipseLink logging and the levels of logging available in the logging utility, see "Persistence Property Extensions Reference" in <em>Jakarta Persistence API (JPA) Extensions Reference for EclipseLink</em>.</p>
</div>
<!-- class="sect2" -->
<a id="BGBBEFAC" name="BGBBEFAC"></a><a id="OTLCG94295" name="OTLCG94295"></a>
<div class="sect2">
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About Vendor Properties</font></h2>
<p>The last section in the <code>persistence.xml</code> file is the <code>properties</code> section. The <code>properties</code> element gives you the chance to supply EclipseLink persistence provider-specific settings for the persistence unit. See <a href="http://jcp.org/en/jsr/detail?id=338">"properties" in the JPA Specification</a>. see also "Persistence Property Extensions Reference" in <em>Jakarta Persistence API (JPA) Extensions Reference for EclipseLink</em>.</p>
</div>
<!-- class="sect2" -->
<a id="BGBEGAEA" name="BGBEGAEA"></a><a id="OTLCG94293" name="OTLCG94293"></a>
<div class="sect2">
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About Mapping Files</font></h2>
<p>Apply the metadata to the persistence unit. This metadata is a union of all the mapping files and the annotations (if there is no <code>xml-mapping-metadata-complete</code> element). If you use one mapping <code>orm.xml</code> file for your metadata, and place this file in a <code>META-INF</code> directory on the classpath, then you do not need to explicitly list it. The EclipseLink persistence provider will automatically search for this file and use it. If you named your mapping files differently or placed them in a different location, then you must list them in the mapping-file elements in the <code>persistence.xml</code> file.</p>
<p>For more information, see <a href="http://jcp.org/en/jsr/detail?id=338">"mapping-file, jar-file, class, exclude-unlisted-classes" in the JPA Specification</a>.</p>
</div>
<!-- class="sect2" -->
<a id="BGBHFFAG" name="BGBHFFAG"></a><a id="OTLCG94294" name="OTLCG94294"></a>
<div class="sect2">
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About Managed Classes</font></h2>
<p>Typically, you put all of the entities and other managed classes in a single JAR file, along with the <code>persistence.xml</code> file in the <code>META-INF</code> directory, and one or more mapping files (when you store metadata in XML).</p>
<p>At the time the EclipseLink persistence provider processes the persistence unit, it determines which set of entities, mapped superclasses, embedded objects, and converters each particular persistence unit will manage.</p>
<p>At deployment time, the EclipseLink persistence provider may obtain managed classes from any of the following sources. A managed class will be included if it is one of the following:</p>
<ul>
<li>
<p>Local classes: the classes annotated with <code>@Entity</code>, <code>@MappedSuperclass</code>, <code>@Embeddable</code>, or <code>@Converter</code> in the deployment unit in which its <code>persistence.xml</code> file was packaged. For more information, see <a href="http://jcp.org/en/jsr/detail?id=338">"Entity" in the JPA Specification</a>.</p>
<div align="center">
<div class="inftblnote"><br />
<table class="Note oac_no_warn" summary="" border="1" width="80%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<tbody>
<tr>
<td align="left">
<p class="note"><img src="../../dcommon/images/note_icon.png" width="16" height="16" alt="Note" style="vertical-align:middle;padding-right:5px;" />Note:</p>
<p>If you are deploying your application in the Jakarta EE environment, the application server itself, not the EclipseLink persistence provider, will discover local classes. In the Java SE environment, you can use the <code>exclude-unlisted-classes</code> element to <code>false</code> to enable this functionality&mdash;EclipseLink persistence provider will attempt to find local classes if you set this element to false. See <a href="http://jcp.org/en/jsr/detail?id=338">"mapping-file, jar-file, class, exclude-unlisted-classes" in the JPA Specification</a>.</p>
</td>
</tr>
</tbody>
</table>
<br /></div>
<!-- class="inftblnote" --></div>
</li>
<li>
<p>Classes in mapping files: the classes that have mapping entries, such as entity (see <a href="http://jcp.org/en/jsr/detail?id=338">"entity" in the JPA Specification</a>), mapped-superclass or embeddable, in an XML mapping file. For more information, see <a href="http://jcp.org/en/jsr/detail?id=338">"mapped-superclass"</a> and <a href="http://jcp.org/en/jsr/detail?id=338">"embeddable" in the JPA Specification</a>.</p>
<p>If these classes are in the deployed component archive, then they will already be on the classpath. If they are not, you must explicitly include them in the classpath.</p>
</li>
<li>
<p>Explicitly listed classes: the classes that are listed as class elements in the <code>persistence.xml</code> file.</p>
<p>Consider listing classes explicitly if one of the following applies:</p>
<ul>
<li>
<p>there are additional classes that are not local to the deployment unit JAR. For example, there is an embedded object class in a different JAR that you want to use in an entity in your persistence unit. You would list the fully qualified class in the class element in the <code>persitence.xml</code> file. You would also need to ensure that the JAR or directory that contains the class is on the classpath of the deployed component (by adding it to the manifest classpath of the deployment JAR, for example);</p>
</li>
<li>
<p>you want to exclude one or more classes that may be annotated as an entity. Even though the class may be annotated with the <code>@Entity</code> annotation, you do not want it treated as an entity in this particular deployed context. For example, you may want to use this entity as a transfer object and it needs to be part of the deployment unit. In this case, in the Jakarta EE environment, you have to use the <code>exclude-unlisted-classes</code> element of the <code>persistence.xml</code> file&mdash;the use of the default setting of this element prevents local classes from being added to the persistence unit. For more information, see "mapping-file, jar-file, class, exclude-unlisted-classes" of the <a href="http://jcp.org/en/jsr/detail?id=338">JPA Specification</a>.</p>
</li>
<li>
<p>you plan to run your application in the Java SE environment, and you list your classes explicitly because that is the only portable way to do so in Java SE.</p>
</li>
</ul>
</li>
<li>
<p>Additional JAR files of managed classes: the annotated classes in a named JAR file listed in a <code>jar-file</code> element in the <code>persistence.xml</code> file. For more information, see <a href="http://jcp.org/en/jsr/detail?id=338">"mapping-file, jar-file, class, exclude-unlisted-classes" in the JPA Specification</a>.</p>
<p>You have to ensure that any JAR file listed in the <code>jar-file</code> element is on the classpath of the deployment unit. Do so by manually adding the JAR file to the manifest classpath of the deployment unit.</p>
<p>Note that you must list the JAR file in the <code>jar-file</code> element relative to the parent of the JAR file in which the <code>persistence.xml</code> file is located. This matches what you would put in the classpath entry in the manifest file.</p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="BGBDCBJJ" name="BGBDCBJJ"></a><a id="OTLCG94296" name="OTLCG94296"></a>
<div class="sect2">
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About the Deployment Classpath</font></h2>
<p>To be accessible to the EJB JAR, WAR, or EAR file, a class or a JAR file must be on the deployment classpath. You can achieve this in one of the following ways:</p>
<ul>
<li>
<p>Put the JAR file in the manifest classpath of the EJB JAR or WAR file.</p>
<p>To do this, add a classpath entry to the <code>META-INF/MANIFEST.MF</code> file in the JAR or WAR file. You can specify one or more directories or JAR files, separating them by spaces.</p>
</li>
<li>
<p>Place the JAR file in the library directory of the EAR file.</p>
<p>This will make the JAR file available on the application classpath and accessible by all of the modules deployed within the EAR file. By default, this would be the <code>lib</code> directory of the EAR file, although you may configure it to be any directory in the EAR file using the <code>library-directory</code> element in the <code>application.xml</code> deployment descriptor.</p>
</li>
</ul>
</div>
<!-- class="sect2" -->
<a id="BGBJGHBG" name="BGBJGHBG"></a><a id="OTLCG94297" name="OTLCG94297"></a>
<div class="sect2">
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About Persistence Unit Packaging Options</font></h2>
<p>Jakarta EE allows for persistence support in a variety of packaging configurations. You can deploy your application to the following module types:</p>
<ul>
<li>
<p>EJB modules: you can package your entities in an EJB JAR. When defining a persistence unit in an EJB JAR, the <code>persistence.xml</code> file is not optional&ndash;you must create and place it in the <code>META-INF</code> directory of the JAR alongside the deployment descriptor, if it exists.</p>
</li>
<li>
<p>Web modules: you can use a WAR file to package your entities. In this case, place the <code>persistence.xml</code> file in the <code>WEB-INF/classes/META-INF</code> directory. Since the <code>WEB-INF/classes</code> directory is automatically on the classpath of the WAR, specify the mapping file relative to that directory.</p>
</li>
<li>
<p>Persistence archives: a persistence archive is a JAR that contains a <code>persistence.xml</code> file in its <code>META-INF</code> directory and the managed classes for the persistence unit defined by the <code>persistence.xml</code> file. Use a persistence archive if you want to allow multiple components in different Jakarta EE modules to share or access a persistence unit.</p>
<p>Once you create a persistence archive, you can place it in either the root or the application library directory of the EAR. Alternatively, you can place the persistence archive in the <code>WEB-INF/lib</code> directory of a WAR. This will make the persistence unit accessible only to the classes inside the WAR, but it enables the decoupling of the definition of the persistence unit from the web archive itself.</p>
</li>
</ul>
<p>For more information, see <a href="http://jcp.org/en/jsr/detail?id=338">"Persistence Unit Packaging" in the JPA Specification</a>.</p>
</div>
<!-- class="sect2" -->
<a id="BGBCJBGD" name="BGBCJBGD"></a><a id="OTLCG94298" name="OTLCG94298"></a>
<div class="sect2">
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About the Persistence Unit Scope</font></h2>
<p>You can define any number of persistence units in single <code>persistence.xml</code> file. The following are the rules for using defined and packaged persistence units:</p>
<ul>
<li>
<p>Persistence units are accessible only within the scope of their definition.</p>
</li>
<li>
<p>Persistence units names must be unique within their scope.</p>
</li>
</ul>
<p>For more information, see <a href="http://jcp.org/en/jsr/detail?id=338">"Persistence Unit Scope" in the JPA Specification</a>.</p>
</div>
<!-- class="sect2" -->
<a id="CHDBJIEH" name="CHDBJIEH"></a>
<div class="sect2"><!-- infolevel="all" infotype="General" -->
<h2 class="sect2"><font face="arial, helvetica, sans-serif" color="#330099">About Composite Persistence Units</font></h2>
<p>You can expose multiple persistence units (each with unique sets of entity types) as a single persistence context by using a composite persistence unit. Individual persistence units that are part of this composite persistence unit are called composite member persistence units.</p>
<p>With a composite persistence unit, you can:</p>
<ul>
<li>
<p>Map relationships among any of the entities in multiple persistence units</p>
</li>
<li>
<p>Access entities stored in multiple databases and different data sources</p>
</li>
<li>
<p>Easily perform queries and transactions across the complete set of entities</p>
</li>
</ul>
<p><a href="#BABFADBE">Figure 3-1</a> illustrates a simple composite persistence unit. EclipseLink processes the <code>persistence.xml</code> file and detects the composite persistence unit, which contains two composite member persistence units:</p>
<ul>
<li>
<p>Class <strong>A</strong> is mapped by a persistence unit named <strong>memberPu1</strong> located in the <code>member1.jar</code> file.</p>
</li>
<li>
<p>Class <strong>B</strong> is mapped by a persistence unit named <strong>memberPu2</strong> located in the <code>member2.jar</code> file.</p>
</li>
</ul>
<div class="figure"><a id="BABFADBE" name="BABFADBE"></a>
<p><strong><em><font face="arial, helvetica, sans-serif">Figure 3-1 A Simple Composite Persistence Unit</font></em></strong></p>
<img src="img/composite_persistence_units.gif" alt="Description of Figure 3-1 follows" title="Description of Figure 3-1 follows" longdesc="img_text/composite_persistence_units.htm" /><br />
<a id="sthref25" name="sthref25" href="img_text/composite_persistence_units.htm">Description of "Figure 3-1 A Simple Composite Persistence Unit"</a><br />
<br /></div>
<!-- class="figure" -->
<p>For more information, see "Using Multiple Databases with a Composite Persistence Unit" in <em>Solutions Guide for EclipseLink</em>.</p>
</div>
<!-- class="sect2" --></div>
<!-- class="sect1" --></div>
<!-- class="ind" -->
<!-- Start Footer -->
<div class="footer">
<hr />
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%">
<col width="33%" />
<col width="*" />
<col width="33%" />
<tr>
<td valign="bottom">
<table class="navigation simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100" align="center">
<col width="*" />
<col width="48%" />
<col width="48%" />
<tr>
<td>&nbsp;</td>
<td align="center"><a href="app_dev.htm"><img src="../../dcommon/images/larrow.png" alt="Previous" border="0" height="16" width="16" /></a></td>
<td align="center"><a href="app_dev002.htm"><img src="../../dcommon/images/rarrow.png" alt="Next" border="0" height="16" width="16" /></a></td>
</tr>
</table>
</td>
<td align="center" width="34%"><a href="http://www.eclipse.org/eclipselink/" title="EclipseLink home"><img src="../../dcommon/images/ellogo.png" alt="EclipseLink" width="150" border="0" /></a><br />
<td valign="bottom" align="right">
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="225">
<tr>
<td>&nbsp;</td>
<td align="center" valign="top"><a href="toc.htm"><img src="../../dcommon/images/contents.png" alt="Go To Table Of Contents" border="0" height="16" width="16" /><br />
</td><td>&nbsp;</td><td align="center"><a href="../../" target="_top" class="external text" title="Search" rel="nofollow"><img src="../../dcommon/images/search.png" alt="Search" style="border:0;" /><br /><span class="mini"></span></a></td><td>&nbsp;</td><td align="center"><a href="../eclipselink_otlcg.pdf" title="PDF" target="_blank"><img src="../../dcommon/images/pdf_icon.png" style="padding-right:5px;border:0" alt="PDF"></a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<!-- class="footer" -->
<div id="copyright">Copyright &copy; 2012 by The Eclipse Foundation under the <a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License (EPL)</a><br /> <script type="text/javascript">var LastUpdated = document.lastModified;document.writeln ("Updated: " + LastUpdated);</script> </div><!-- START: Analytics --><script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-1608008-2']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script><!-- END: Analytics --><!-- START: Sharethis --><script>var options={ "publisher": "e2fe9e07-fab6-4f84-83ea-0991b429842c", "position": "right", "ad": { "visible": false, "openDelay": 5, "closeDelay": 0}};var st_hover_widget = new sharethis.widgets.hoverbuttons(options);</script><!-- END: Sharethis --></body>
</html>