blob: e22d6beccf2f2a76fb013f57faf821d3a4bd4287 [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>Table of Contents | EclipseLink 2.7 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:35:15Z" />
<meta name="description" content="" />
<meta name="robots" content="noarchive" />
<meta name="doctitle" content="Table of Contents" />
<meta name="relnum" content="Release 2.7" />
<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="next" href="loe.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:enkkfjmsqju', 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"><font face="helvetica, arial, sans-serif"><b>EclipseLink Solutions Guide for EclipseLink</b><br />
Release 2.7</div></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>
</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="loe.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 -->
<div class="tocnav"><table summary="" cellspacing="0" cellpadding="0"><tr><td>&nbsp;</td><td align="center"><a href="../../" class="external text" title="Search" rel="nofollow" target="_top"><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_tladg.pdf" title="PDF" target="_blank"><img src="../../dcommon/images/pdf_icon.png" style="padding-right:5px;" alt="PDF"></a></td></td></tr></table></div><h1 style="margin-top:0 !important"><font face="arial, helvetica, sans-serif">Contents</font></h1>
<h2><font face="arial, helvetica, sans-serif"><a href="loe.htm">List of Examples</a></font></h2>
<h2><a href="title_eclipselink.htm"><font face="arial, helvetica, sans-serif">Title and Copyright Information</font></a></h2>
<h2><a href="preface.htm#sthref1"><font face="arial, helvetica, sans-serif">Preface</font></a></h2>
<ul style="list-style-type:none">
<li><a href="preface.htm#sthref2">Audience</a></li>
<li><a href="preface.htm#sthref3">Related Documents</a></li>
<li><a href="preface.htm#sthref4">Conventions</a></li>
</ul>
<h2><a href="whatsnew.htm#sthref5"><font face="arial, helvetica, sans-serif">What's New in This Guide</font></a></h2>
<ul style="list-style-type:none">
<li><a href="whatsnew.htm#sthref6">New and Changed Features for Release 2.7</a></li>
<li><a href="whatsnew.htm#sthref7">Other Significant Changes in this Document for Release 2.7</a></li>
<li><a href="whatsnew.htm#sthref8">New and Changed Features for 12c (12.1.2)</a></li>
<li><a href="whatsnew.htm#sthref9">Other Significant Changes in this Document for 12c (12.1.2)</a></li>
</ul>
<h2><a href="intro.htm#CHDGIDEA"><font face="arial, helvetica, sans-serif"><span class="secnum">1</span> Introduction</font></a></h2>
<ul style="list-style-type:none">
<li><a href="intro001.htm#sthref10">About This Guide</a></li>
<li><a href="intro002.htm#sthref11">What You Need to Know First</a></li>
<li><a href="sect1test.htm#sthref12">The Use Cases</a></li>
</ul>
<h2><a href="install.htm#CHDIGBJC"><font face="arial, helvetica, sans-serif"><span class="secnum">2</span> Installing EclipseLink</font></a></h2>
<ul style="list-style-type:none">
<li><a href="install001.htm#CHDFACCB">Prerequisites</a></li>
<li><a href="install002.htm#CHDFDCDC">Installing EclipseLink for Java SE and Java EE Development</a></li>
<li><a href="install003.htm#CHDCJICG">Installing EclipseLink NoSQL Support</a></li>
<li><a href="install004.htm#CHDJBFEA">Installing EclipseLink with OSGi Support</a></li>
</ul>
<h2><a href="tlandwls.htm#BABHCJBG"><font face="arial, helvetica, sans-serif"><span class="secnum">3</span> Using EclipseLink with WebLogic Server</font></a></h2>
<ul style="list-style-type:none">
<li><a href="tlandwls001.htm#BABCIJEE">Introduction to the Solution</a>
<ul style="list-style-type:none">
<li><a href="tlandwls001.htm#sthref13">Advantages to Using EclipseLink with WebLogic Server</a></li>
</ul>
</li>
<li><a href="tlandwls002.htm#BABEDCEI">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="tlandwls002.htm#BABJHCFG">Task 1: Prerequisites</a></li>
<li><a href="tlandwls002.htm#BABJDGGE">Task 3: Configure JMX MBean Extensions in WebLogic Server</a></li>
<li><a href="tlandwls002.htm#BABIIEHD">Task 4: Use or Reconfigure the Logging Integration</a>
<ul style="list-style-type:none">
<li><a href="tlandwls002.htm#sthref14">How the Logging Integration Works</a></li>
<li><a href="tlandwls002.htm#sthref17">Viewing Persistence Unit Logging Levels in the Administration Console</a></li>
<li><a href="tlandwls002.htm#BABEIGEC">Overriding the Default Logging Integration</a></li>
<li><a href="tlandwls002.htm#BABFGGFE">Configuring WebLogic Server to Expose EclipseLink Logging</a></li>
<li><a href="tlandwls002.htm#BABCAEDA">Other Considerations</a></li>
</ul>
</li>
<li><a href="tlandwls002.htm#BABJEFBD">Task 5: Add Persistence to Your Java Application Using EclipseLink</a></li>
<li><a href="tlandwls002.htm#BABEEIFH">Task 6: Configure a Data Source</a>
<ul style="list-style-type:none">
<li><a href="tlandwls002.htm#sthref18">Ways to Configure Data Sources for JPA Applications</a></li>
<li><a href="tlandwls002.htm#BABEHDCG">Configure a Globally Scoped JTA Data Source</a></li>
<li><a href="tlandwls002.htm#BABFIHAE">Configure an Application-Scoped JTA Data Source</a></li>
<li><a href="tlandwls002.htm#BABCGGEJ">Configure a non-JTA Data Source and Manage Transactions in the Application</a></li>
<li><a href="tlandwls002.htm#sthref19">Ensure the Settings Match</a></li>
</ul>
</li>
<li><a href="tlandwls002.htm#BABHICHE">Task 7: Extend the Domain to Use Advanced Oracle Database Features</a></li>
<li><a href="tlandwls002.htm#BABICGHA">Task 8: Start WebLogic Server and Deploy the Application</a></li>
<li><a href="tlandwls002.htm#BABEEJDE">Task 9: Run the Application</a></li>
<li><a href="tlandwls002.htm#BABIJAAD">Task 10: Configure and Monitor Persistence Settings in WebLogic Server</a></li>
</ul>
</li>
<li><a href="tlandwls003.htm#CHDEDEBF">Additional Resources</a></li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="tlandgs.htm#BABDGFIC"><span class="secnum">4</span> Using EclipseLink with GlassFish Server</a></font></h2>
<ul style="list-style-type:none">
<li><a href="tlandgs001.htm#CIHHFGAG">Introduction to the Solution</a>
<ul style="list-style-type:none">
<li><a href="tlandgs001.htm#sthref22">Advantages to Using EclipseLink with GlassFish Server</a></li>
</ul>
</li>
<li><a href="tlandgs002.htm#CIHIGBFH">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="tlandgs002.htm#CIHDCDJD">Task 1: Prerequisites</a></li>
<li><a href="tlandgs002.htm#CIHEJFFA">Task 2: Install GlassFish Server</a></li>
<li><a href="tlandgs002.htm#CIHFCJJI">Task 3: Set Up the Data Source</a>
<ul style="list-style-type:none">
<li><a href="tlandgs002.htm#CIHDEDEE">Integrate the JDBC Driver for Oracle Database into GlassFish Server</a></li>
<li><a href="tlandgs002.htm#CIHFIGGF">Create a JDBC Connection Pool for the Resource</a></li>
<li><a href="tlandgs002.htm#CIHIDADF">Create the JDBC Resource</a></li>
</ul>
</li>
<li><a href="tlandgs002.htm#CIHBFDDB">Task 4: Create the persistence.xml File</a>
<ul style="list-style-type:none">
<li><a href="tlandgs002.htm#CIHFFHAE">Specify the Persistence Provider</a></li>
<li><a href="tlandgs002.htm#CIHCBCIC">Specify an Oracle Database</a></li>
<li><a href="tlandgs002.htm#CIHHJIGF">Specify Logging</a></li>
</ul>
</li>
<li><a href="tlandgs002.htm#CIHDDACF">Task 5: Set Up GlassFish Server for JPA</a></li>
<li><a href="tlandgs002.htm#CIHHDEFE">Task 6: Create the Application</a></li>
<li><a href="tlandgs002.htm#CIHCFJDE">Task 7: Deploy the Application to GlassFish Server</a></li>
<li><a href="tlandgs002.htm#CIHFIGGB">Task 8: Run the Application</a></li>
<li><a href="tlandgs002.htm#CIHIFGEF">Task 9: Monitor the Application</a></li>
</ul>
</li>
<li><a href="tlandgs003.htm#CIHFEBGC">Additional Resources</a></li>
</ul>
<h2><a href="jboss.htm#BEIEIJAE"><font face="arial, helvetica, sans-serif"><span class="secnum">5</span> Using EclipseLink with JBoss 7 Application Server</font></a></h2>
<ul style="list-style-type:none">
<li><a href="jboss001.htm#BEIFEJJI">Introduction to the Solution</a></li>
<li><a href="jboss002.htm#BEIBJBCF">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="jboss002.htm#BEIFFJAJ">Task 1: Prerequisites</a></li>
<li><a href="jboss002.htm#BEIHHAHD">Task 2: Configure EclipseLink as a Module in JBoss</a></li>
<li><a href="jboss002.htm#BEIHDIBG">Task 3: Add ojdbc6.jar as a Module in JBoss</a></li>
<li><a href="jboss002.htm#BEIIFFGB">Task 4: Create the Driver Definition and the Datasource</a></li>
<li><a href="jboss002.htm#BEIDFCFI">Task 5: Create Users</a></li>
<li><a href="jboss002.htm#BEIGFJIG">Task 6: Modify JBoss Properties</a></li>
<li><a href="jboss002.htm#BEIHGDBJ">Task 7: Other Requirements</a></li>
<li><a href="jboss002.htm#BEIGADEE">Task 8: Start JBoss</a></li>
</ul>
</li>
<li><a href="jboss003.htm#A1580333">Additional Resources</a></li>
</ul>
<h2><a href="websphere.htm#CFHHEHJG"><font face="arial, helvetica, sans-serif"><span class="secnum">6</span> Using EclipseLink with IBM WebSphere Application Server</font></a></h2>
<ul style="list-style-type:none">
<li><a href="websphere001.htm#CFHHJJEC">Introduction to the Solution</a></li>
<li><a href="websphere002.htm#A1584318">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="websphere002.htm#CFHIHHBB">Task 1: Prerequisites</a></li>
<li><a href="websphere002.htm#CEGCHAJB">Task 2: Configure Persistence Units</a></li>
<li><a href="websphere002.htm#CEGCGFJB">Task 3: Configure the Server and the Application to Use EclipseLink</a>
<ul style="list-style-type:none">
<li><a href="websphere002.htm#CEGFHBBI">Modify Server to Make EclipseLink Available Globally</a></li>
<li><a href="websphere002.htm#CEGFFJEA">Package EclipseLink in the Application EAR</a></li>
<li><a href="websphere002.htm#CEGJBCHB">Package EclipseLink in the WAR</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="websphere003.htm#CFHEBIIG">Additional Resources</a></li>
</ul>
<h2><a href="migrnativetoplink.htm#BCGDEBBB"><font face="arial, helvetica, sans-serif"><span class="secnum">7</span> Migrating from Native TopLink</font></a></h2>
<ul style="list-style-type:none">
<li><a href="sect1test001.htm#BCGDFFJG">Introduction to the Solution</a></li>
<li><a href="migrnativetoplink001.htm#BCGGFGDG">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="migrnativetoplink001.htm#BCGGFIGC">Task 1: Prerequisites</a></li>
<li><a href="migrnativetoplink001.htm#BCGFFCHI">Task 2: Replace Deprecated and Removed Native APIs</a>
<ul style="list-style-type:none">
<li><a href="migrnativetoplink001.htm#BCGDBICE">APIs Replaced</a></li>
<li><a href="migrnativetoplink001.htm#BCGJJGEF">Deprecated APIs</a></li>
<li><a href="migrnativetoplink001.htm#BCGGJAFJ">Removed API</a></li>
<li><a href="migrnativetoplink001.htm#sthref44">Miscellaneous API Changes</a></li>
</ul>
</li>
<li><a href="migrnativetoplink001.htm#BCGJDFJB">Task 3: Rename Packages</a></li>
<li><a href="migrnativetoplink001.htm#BCGIFBHC">Task 4: Convert XML Configuration Files</a>
<ul style="list-style-type:none">
<li><a href="migrnativetoplink001.htm#sthref45">Sessions XML</a></li>
<li><a href="migrnativetoplink001.htm#sthref46">Deployment XML</a></li>
<li><a href="migrnativetoplink001.htm#sthref47">Persistence XML</a></li>
<li><a href="migrnativetoplink001.htm#sthref48">ORM XML</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="migrnativetoplink002.htm#BCGJHDHE">Additional Resources</a></li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="migrhib.htm#CHDFDCII"><span class="secnum">8</span> Migrating from Hibernate to EclipseLink</a></font></h2>
<ul style="list-style-type:none">
<li><a href="migrhib001.htm#BGBCDEFG">Introduction to the Solution</a></li>
<li><a href="migrhib002.htm#BGBBIHFB">Main Tasks</a>
<ul style="list-style-type:none">
<li><a href="migrhib002.htm#sthref49">Task 1: Prerequisites</a></li>
<li><a href="migrhib002.htm#BGBFIGDF">Task 1: Convert the Hibernate Entity Annotation</a>
<ul style="list-style-type:none">
<li><a href="migrhib002.htm#sthref50">Convert the SelectBeforeUpdate, dynamicInsert and dynamicUpdate Attributes</a></li>
<li><a href="migrhib002.htm#sthref51">Convert the OptimisticLock Attribute</a></li>
</ul>
</li>
<li><a href="migrhib002.htm#BGBCJCBF">Task 2: Convert the Hibernate Custom Sequence Generator Annotation</a></li>
<li><a href="migrhib002.htm#BGBDFADJ">Task 3: Convert Hibernate Mapping Annotations</a>
<ul style="list-style-type:none">
<li><a href="migrhib002.htm#sthref53">Convert the @ForeignKey Annotation</a></li>
<li><a href="migrhib002.htm#sthref54">Convert the @Cache Annotation</a></li>
</ul>
</li>
<li><a href="migrhib002.htm#BGBGAGJD">Task 4: Modify the persistence.xml File</a>
<ul style="list-style-type:none">
<li><a href="migrhib002.htm#sthref55">Modified persistence.xml File</a></li>
<li><a href="migrhib002.htm#sthref56">Drop and Create the Database Tables</a></li>
<li><a href="migrhib002.htm#sthref57">Create or Extend Database Tables</a></li>
</ul>
</li>
<li><a href="migrhib002.htm#BGBGDHBH">Task 5: Convert Hibernate API to EclipseLink API</a></li>
</ul>
</li>
<li><a href="migrhib003.htm#BGBCJFAD">Additional Resources</a></li>
</ul>
<h2><a href="usingmultipledbs.htm#BABJAFII"><font face="arial, helvetica, sans-serif"><span class="secnum">9</span> Using Multiple Databases with a Composite&nbsp;Persistence Unit</font></a></h2>
<ul style="list-style-type:none">
<li><a href="usingmultipledbs001.htm#CIHBBIJJ">Introduction to the Solution</a>
<ul style="list-style-type:none">
<li><a href="usingmultipledbs001.htm#CIHJCHAF">Composite Persistence Unit Requirements</a></li>
</ul>
</li>
<li><a href="usingmultipledbs002.htm#CIHJJBFF">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="usingmultipledbs002.htm#CIHJIFHA">Task 1: Configure the Composite Persistence Unit</a></li>
<li><a href="usingmultipledbs002.htm#CIHEIBDH">Task 2: Use Composite Persistence Units</a></li>
<li><a href="usingmultipledbs002.htm#CIHFIAJH">Task 3: Deploy Composite Persistence Units</a></li>
</ul>
</li>
<li><a href="usingmultipledbs003.htm#CIHCDGEH">Additional Resources</a>
<ul style="list-style-type:none">
<li><a href="usingmultipledbs003.htm#sthref60">Related Javadoc</a></li>
</ul>
</li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="scaling.htm#CHDCAFDB"><span class="secnum">10</span> Scaling Applications in Clusters</a></font></h2>
<ul style="list-style-type:none">
<li><a href="scaling001.htm#CEGBJFBE">Introduction to the Solution</a></li>
<li><a href="scaling002.htm#CEGHIIGG">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="scaling002.htm#CEGBHAEA">Task 1: Configure Cache Consistency</a>
<ul style="list-style-type:none">
<li><a href="scaling002.htm#CEGEDHAB">Disabling Entity Caching</a></li>
<li><a href="scaling002.htm#CEGBGIFB">Refreshing the Cache</a></li>
<li><a href="scaling002.htm#CEGCABII">Setting Entity Caching Expiration</a></li>
<li><a href="scaling002.htm#CEGCHFCD">Setting Optimistic Locking</a></li>
<li><a href="scaling002.htm#CEGBAIIH">Using Cache Coordination</a></li>
</ul>
</li>
<li><a href="scaling002.htm#CEGEHGCF">Task 2: Ensure EclipseLink Is Enabled</a></li>
<li><a href="scaling002.htm#CEGJHBBG">Task 3: Ensure All Application Servers Are Part of the Cluster</a></li>
<li><a href="scaling002.htm#BABHHAEJ">Using Data Partitioning to Scale Data</a>
<ul style="list-style-type:none">
<li><a href="scaling002.htm#sthref68">Clustered Databases and Oracle RAC</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="scaling003.htm#CEGHHHJF">Additional Resources</a></li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="saas.htm#CIADHEBF"><span class="secnum">11</span> Providing Software as a Service</a></font></h2>
<ul style="list-style-type:none">
<li><a href="saas001.htm#CIAJIHCJ">Introduction to the Solution</a></li>
</ul>
<h2><a href="extensible.htm#CIAEIEAI"><font face="arial, helvetica, sans-serif"><span class="secnum">12</span> Making JPA Entities and JAXB Beans Extensible</font></a></h2>
<ul style="list-style-type:none">
<li><a href="extensible001.htm#BABFJDCF">Making JPA Entities Extensible</a>
<ul style="list-style-type:none">
<li><a href="extensible001.htm#sthref69">Main Tasks for Creating and Supporting an Extensible JPA Entity</a>
<ul style="list-style-type:none">
<li><a href="extensible001.htm#CIAHBEAJ">Task 1: Configure the Entity</a></li>
<li><a href="extensible001.htm#CIAIJJDH">Task 2: Design the Schema</a></li>
<li><a href="extensible001.htm#CIAECEAE">Task 3: Provide Additional Mappings</a></li>
<li><a href="extensible001.htm#CIAIJHAG">Task 4: Externalizing Extensions Using a MetaDataSource</a></li>
</ul>
</li>
<li><a href="extensible001.htm#sthref74">Code Examples</a></li>
</ul>
</li>
<li><a href="extensible002.htm#BABHGCJB">Making JAXB Beans Extensible</a>
<ul style="list-style-type:none">
<li><a href="extensible002.htm#CIAFIAAF">Main Steps</a>
<ul style="list-style-type:none">
<li><a href="extensible002.htm#CIAEGGCB">Task 1: Configure the Bean</a></li>
<li><a href="extensible002.htm#CIAIDAED">Task 2: Provide Additional Mappings</a></li>
</ul>
</li>
<li><a href="extensible002.htm#CIAEDJHB">Code Examples</a>
<ul style="list-style-type:none">
<li><a href="extensible002.htm#sthref80">Basic Setup</a></li>
<li><a href="extensible002.htm#sthref81">Define the Tenants</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="extensible003.htm#CIAJEHFG">Additional Resources</a></li>
</ul>
<h2><a href="metadatasource.htm#BABGDEGB"><font face="arial, helvetica, sans-serif"><span class="secnum">13</span> Using an External MetaData Source</font></a></h2>
<ul style="list-style-type:none">
<li><a href="metadatasource001.htm#BABGIGDH">Introduction to the Solution</a></li>
<li><a href="metadatasource002.htm#A1102365">Using the eclipselink-orm.xml File Externally</a></li>
<li><a href="metadatasource003.htm#BABGHHIH">Main Tasks</a>
<ul style="list-style-type:none">
<li><a href="metadatasource003.htm#BABEIJIG">Task 1: Configure the Persistence Unit</a></li>
<li><a href="metadatasource003.htm#BABIGAGE">Task 2: Configure the Server</a></li>
</ul>
</li>
<li><a href="metadatasource004.htm#BABIFHHF">Additional Resources</a></li>
</ul>
<h2><a href="multitenancy.htm#CHDBJCJA"><font face="arial, helvetica, sans-serif"><span class="secnum">14</span> Tenant Isolation Using EclipseLink</font></a></h2>
<ul style="list-style-type:none">
<li><a href="multitenancy001.htm#A1261503">Introduction to the Solution</a></li>
<li><a href="multitenancy002.htm#BABJGBCF">Using Single-Table Multi-Tenancy</a>
<ul style="list-style-type:none">
<li><a href="multitenancy002.htm#BABIFFCI">Main Tasks for Using Single-Table Multi-Tenancy</a>
<ul style="list-style-type:none">
<li><a href="multitenancy002.htm#CHDBADCI">Task 1: Prerequisites</a></li>
<li><a href="multitenancy002.htm#BABDFFJD">Task 2: Enable Single-Table Multi-Tenancy</a></li>
<li><a href="multitenancy002.htm#BABFGJAJ">Task 3: Specify Tenant Discriminator Columns</a></li>
<li><a href="multitenancy002.htm#sthref87">Configure Context Properties and Caching Scope</a></li>
<li><a href="multitenancy002.htm#BABHIDCG">Task 4: Perform Operations and Queries</a></li>
<li><a href="multitenancy002.htm#CHDIHGID">Task 5: Use Single-Table Multi-Tenancy in an Inheritance Hierarchy</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="multitenancy003.htm#A1235913">Using Table-Per-Tenant Multi-Tenancy</a>
<ul style="list-style-type:none">
<li><a href="multitenancy003.htm#sthref90">Main Tasks for Using Table-Per-Tenant Multi-Tenancy</a>
<ul style="list-style-type:none">
<li><a href="multitenancy003.htm#CHDIGFFI">Task 1: Prerequisites</a></li>
<li><a href="multitenancy003.htm#CHDGCIGF">Task 2: Enable Table-Per-Tenant Multi-Tenancy</a></li>
<li><a href="multitenancy003.htm#CHDGBJBE">Task 3: Specify Tenant Table Discriminator</a></li>
<li><a href="multitenancy003.htm#CHDDCDHI">Task 4: Specify a Context Property at Runtime</a></li>
<li><a href="multitenancy003.htm#sthref95">Task 5: Perform Operations and Queries</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="multitenancy004.htm#CHDJEBAC">Using VPD Multi-Tenancy</a>
<ul style="list-style-type:none">
<li><a href="multitenancy004.htm#sthref96">Main Tasks for Using VPD Multi-Tenancy</a>
<ul style="list-style-type:none">
<li><a href="multitenancy004.htm#CHDDEDCJ">Task 1: Prerequisites</a></li>
<li><a href="multitenancy004.htm#CHDDFBFC">Task 2: Configure the Virtual Private Database</a></li>
<li><a href="multitenancy004.htm#CHDICCHE">Task 3: Configure the Entity or Mapped Superclass</a></li>
<li><a href="multitenancy004.htm#CHDDJIAE">Task 4: Disable Criteria Generation</a></li>
<li><a href="multitenancy004.htm#CHDIIJEB">Task 5: Configure persistence.xml</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="multitenancy005.htm#CHDCAJIH">Additional Resources</a></li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="jpatoxml.htm#CIHGJCIH"><span class="secnum">15</span> Mapping JPA to XML</a></font></h2>
<ul style="list-style-type:none">
<li><a href="jpatoxml001.htm#BEICFGAJ">Introduction to the Solution</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml001.htm#BEIEHDIH">Understanding XML Binding</a></li>
<li><a href="jpatoxml001.htm#BEIJHDEG">Understanding JAXB</a></li>
<li><a href="jpatoxml001.htm#BEIGAIEH">Understanding MOXy</a></li>
<li><a href="jpatoxml001.htm#BEIHEGED">Understanding an XML Data Representation</a></li>
</ul>
</li>
<li><a href="jpatoxml002.htm#BEIGDBHI">Binding JPA Entities to XML</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml002.htm#BEICADBF">Binding JPA Relationships to XML</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml002.htm#BEIBJCIJ">Task 1: Define the Accessor Type and Import Classes</a></li>
<li><a href="jpatoxml002.htm#sthref97">Task 2: Map Privately-Owned Relationships</a></li>
<li><a href="jpatoxml002.htm#BEIEEFII">Task 3: Map the Shared Reference Relationship</a></li>
<li><a href="jpatoxml002.htm#sthref101">JPA Entities</a></li>
</ul>
</li>
<li><a href="jpatoxml002.htm#BEIIHFJG">Binding Compound Primary Keys to XML</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml002.htm#sthref102">Task1: Define the XML Accessor Type</a></li>
<li><a href="jpatoxml002.htm#sthref103">Task 2: Create the Target Object</a></li>
<li><a href="jpatoxml002.htm#sthref104">Task 3: Create the Source Object</a></li>
</ul>
</li>
<li><a href="jpatoxml002.htm#BEIECBGA">Binding Embedded ID Classes to XML</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml002.htm#sthref105">Task1: Define the XML Accessor Type</a></li>
<li><a href="jpatoxml002.htm#BEIDGBIA">Task 2: Create the Target Object</a></li>
<li><a href="jpatoxml002.htm#sthref106">Task 3: Create the Source Object</a></li>
<li><a href="jpatoxml002.htm#sthref107">Task 5: Implement the DescriptorCustomizer as PhoneNumberCustomizer Class</a></li>
</ul>
</li>
<li><a href="jpatoxml002.htm#BEIBJBFA">Using the EclipseLink XML Binding Document</a></li>
</ul>
</li>
<li><a href="jpatoxml003.htm#BEIEJGCE">Mapping Simple Java Values to XML Text Nodes</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml003.htm#BEIJIEGC">Mapping a Value to an Attribute</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml003.htm#sthref108">Mapping from the Java Object</a></li>
<li><a href="jpatoxml003.htm#sthref109">Defining the Mapping in OXM Metadata Format</a></li>
</ul>
</li>
<li><a href="jpatoxml003.htm#BEIDFEIC">Mapping a Value to a Text Node</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml003.htm#BEIFAICJ">Mapping a Value to a Simple Text Node</a></li>
<li><a href="jpatoxml003.htm#BEIBEFEJ">Mapping Values to a Text Node in a Simple Sequence</a></li>
<li><a href="jpatoxml003.htm#BEICIFCI">Mapping a Value to a Text Node in a Sub-element</a></li>
<li><a href="jpatoxml003.htm#BEIDCEHD">Mapping Values to a Text Node by Position</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="jpatoxml004.htm#BEIJGBGA">Using XML Metadata Representation to Override JAXB Annotations</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml004.htm#sthref117">Task 1: Define Advanced Mappings in the XML</a></li>
<li><a href="jpatoxml004.htm#sthref118">Task 2: Configure Usage in JAXBContext</a></li>
<li><a href="jpatoxml004.htm#sthref119">Task 3: Specify the MOXy as the JAXB Implementation</a></li>
</ul>
</li>
<li><a href="jpatoxml005.htm#BEIBFCFC">Using XPath Predicates for Mapping</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml005.htm#BEIHJHCJ">Understanding XPath Predicates</a></li>
<li><a href="jpatoxml005.htm#BEIIBJHE">Mapping Based on Position</a></li>
<li><a href="jpatoxml005.htm#BEIJIHCI">Mapping Based on an Attribute Value</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml005.htm#BEIEIFGA">Task 1: Create the Customer Entity</a></li>
<li><a href="jpatoxml005.htm#sthref120">Task 2: Create the Address Entity</a></li>
<li><a href="jpatoxml005.htm#sthref121">Task 3: Create the PhoneNumber Entity</a></li>
</ul>
</li>
<li><a href="jpatoxml005.htm#BEIDJHFD">"Self" Mappings</a></li>
</ul>
</li>
<li><a href="jpatoxml006.htm#BEIHCDIB">Using Dynamic JAXB/MOXy</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml006.htm#BEIFDBCA">Task 1: Bootstrap a Dynamic JAXBContext from an XML Schema</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml006.htm#sthref122">Bootstrapping from an XML Schema</a></li>
<li><a href="jpatoxml006.htm#sthref123">The XML Schema</a></li>
<li><a href="jpatoxml006.htm#sthref124">Handling Schema Import/Includes</a></li>
<li><a href="jpatoxml006.htm#sthref125">Implementing and Passing an EntityResolver</a></li>
<li><a href="jpatoxml006.htm#sthref126">Error Handling</a></li>
<li><a href="jpatoxml006.htm#sthref127">Specifying a ClassLoader</a></li>
</ul>
</li>
<li><a href="jpatoxml006.htm#BEIDHGHI">Task 2: Create Dynamic Entities and Marshal Them to XML</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml006.htm#sthref128">Creating the Dynamic Entities</a></li>
<li><a href="jpatoxml006.htm#sthref130">Marshalling the Dynamic Entities to XML</a></li>
</ul>
</li>
<li><a href="jpatoxml006.htm#BEIGCBBH">Task 3: Unmarshal the Dynamic Entities from XML</a>
<ul style="list-style-type:none">
<li><a href="jpatoxml006.htm#sthref132">Unmarshal DynamicEntities from XML</a></li>
<li><a href="jpatoxml006.htm#sthref134">Get Data from the Dynamic Entity</a></li>
<li><a href="jpatoxml006.htm#sthref135">Use DynamicType to Introspect Dynamic Entity</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="jpatoxml007.htm#A3316273">Additional Resources</a></li>
</ul>
<h2><a href="json.htm#CACGHDHH"><font face="arial, helvetica, sans-serif"><span class="secnum">16</span> Converting Objects to and from JSON Documents</font></a></h2>
<ul style="list-style-type:none">
<li><a href="json001.htm#A1584087">Introduction to the Solution</a></li>
<li><a href="json002.htm#A1584696">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="json002.htm#CHDHHDEH">Task 1: Marshalling and Unmarshalling JSON Documents</a></li>
<li><a href="json002.htm#CHDCBAIG">Task 2: Specifying JSON Bindings</a></li>
<li><a href="json002.htm#CHDDIFFD">Task 3: Specifying JSON Data Types</a></li>
<li><a href="json002.htm#CHDBFEDC">Task 4: Supporting Attributes</a></li>
<li><a href="json002.htm#CHDJEHFB">Task 5: Supporting no Root Element</a></li>
<li><a href="json002.htm#sthref136">Task 5 Using Namespaces</a></li>
<li><a href="json002.htm#CHDJIGDD">Task 6: Using Collections</a></li>
<li><a href="json002.htm#CHDHHFIB">Task 7: Mapping Root-Level Collections</a></li>
<li><a href="json002.htm#CHDIHBIF">Task 8: Wrapping Text Values</a></li>
</ul>
</li>
<li><a href="json003.htm#A1584393">Additional Resources</a></li>
</ul>
<h2><a href="testingjpa.htm#BABEBCCJ"><font face="arial, helvetica, sans-serif"><span class="secnum">17</span> Testing JPA Outside a Container</font></a></h2>
<ul style="list-style-type:none">
<li><a href="testingjpa001.htm#CHDHAFFB">Understanding JPA Deployment</a>
<ul style="list-style-type:none">
<li><a href="testingjpa001.htm#sthref137">Using EntityManager</a></li>
</ul>
</li>
<li><a href="testingjpa002.htm#CHDCABFF">Configuring the persistence.xml File</a>
<ul style="list-style-type:none">
<li><a href="testingjpa002.htm#sthref139">Main Tasks</a>
<ul style="list-style-type:none">
<li><a href="testingjpa002.htm#CHDBEAJF">Task 1: Use the persistence.xml File</a></li>
<li><a href="testingjpa002.htm#CHDFFBDI">Task 2: Instantiate EntityManagerFactory</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="testingjpa003.htm#CHDDJADH">Using a Property Map</a>
<ul style="list-style-type:none">
<li><a href="testingjpa003.htm#sthref140">Main Tasks</a>
<ul style="list-style-type:none">
<li><a href="testingjpa003.htm#CHDHHIIJ">Task 1: Configure the persistence.xml File</a></li>
<li><a href="testingjpa003.htm#CHDCAFIA">Task 2: Configure the Bootstrapping API</a></li>
<li><a href="testingjpa003.htm#CHDGCFBH">Task 3: Instantiate the EntityManagerFactory</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="testingjpa004.htm#CHDEECDB">Using Weaving</a>
<ul style="list-style-type:none">
<li><a href="testingjpa004.htm#sthref141">How to Disable or Enable Weaving in a Java SE Environment</a></li>
<li><a href="testingjpa004.htm#sthref142">How to Disable or Enable Weaving in a Java EE Environment</a></li>
</ul>
</li>
<li><a href="testingjpa005.htm#CHDEJAGF">Additional Resources</a>
<ul style="list-style-type:none">
<li><a href="testingjpa005.htm#sthref143">Related Javadoc</a></li>
</ul>
</li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="performance.htm#BBAGGDED"><span class="secnum">18</span> Enhancing Performance</a></font></h2>
<ul style="list-style-type:none">
<li><a href="performance001.htm#CHDIIAFD">Performance Features</a>
<ul style="list-style-type:none">
<li><a href="performance001.htm#CHDCGIHF">Object Caching</a>
<ul style="list-style-type:none">
<li><a href="performance001.htm#sthref144">Caching Annotations</a></li>
<li><a href="performance001.htm#sthref145">Using the @Cache Annotation</a></li>
</ul>
</li>
<li><a href="performance001.htm#CHDJFFEJ">Querying</a>
<ul style="list-style-type:none">
<li><a href="performance001.htm#CHDEHHHD">Read-only Queries</a></li>
<li><a href="performance001.htm#CHDEGCHH">Join Fetching</a></li>
<li><a href="performance001.htm#CHDFHFEB">Batch Reading</a></li>
<li><a href="performance001.htm#CHDDJCAC">Fetch Size</a></li>
<li><a href="performance001.htm#CHDIEBJE">Pagination</a></li>
<li><a href="performance001.htm#CHDBGFAI">Cache Usage</a></li>
</ul>
</li>
<li><a href="performance001.htm#CHDDGGFI">Mapping</a>
<ul style="list-style-type:none">
<li><a href="performance001.htm#CHDDJHCG">Read-Only Objects</a></li>
<li><a href="performance001.htm#CHDIJAAH">Weaving</a></li>
</ul>
</li>
<li><a href="performance001.htm#CHDBIBAI">Transactions</a></li>
<li><a href="performance001.htm#CHDHFDEJ">Database</a>
<ul style="list-style-type:none">
<li><a href="performance001.htm#CHDJFFHG">Connection Pooling</a></li>
<li><a href="performance001.htm#CHDHECDD">Parameterized SQL and Statement Caching</a></li>
<li><a href="performance001.htm#CHDHDFAD">Batch Writing</a></li>
<li><a href="performance001.htm#BBAJBHBI">Serialized Object Policy</a></li>
</ul>
</li>
<li><a href="performance001.htm#BBAFFHDD">Automated Tuning</a></li>
<li><a href="performance001.htm#CHDIICEJ">Tools</a></li>
</ul>
</li>
<li><a href="performance002.htm#CHDFIECF">Monitoring and Optimizing EclipseLink-Enabled Applications</a>
<ul style="list-style-type:none">
<li><a href="performance002.htm#CHDJJDDH">Performance Optimization Recommendations and Tips</a></li>
<li><a href="performance002.htm#CHDIAFJI">Task 1: Measure EclipseLink Performance with the EclipseLink Profiler</a>
<ul style="list-style-type:none">
<li><a href="performance002.htm#CHDDAEHF">Enabling the EclipseLink Profiler</a></li>
<li><a href="performance002.htm#sthref149">Accessing and Interpreting Profiler Results</a></li>
</ul>
</li>
<li><a href="performance002.htm#CIAFFAIF">Task 2: Measure EclipseLink Performance in the Server Environment</a></li>
<li><a href="performance002.htm#CIAFGJHI">Task 3: Measure Fetch Group Field Usage</a></li>
<li><a href="performance002.htm#CHDICBBA">Task 4: Identify Sources of Application Performance Problems</a></li>
<li><a href="performance002.htm#CHDDCABJ">Task 5: Modify Poorly-Performing Application Components</a>
<ul style="list-style-type:none">
<li><a href="performance002.htm#sthref150">Identifying General Performance Optimizations</a></li>
<li><a href="performance002.htm#sthref151">Schema</a></li>
<li><a href="performance002.htm#sthref152">Mappings and Descriptors</a></li>
<li><a href="performance002.htm#sthref153">Cache</a></li>
<li><a href="performance002.htm#sthref154">Data Access</a></li>
<li><a href="performance002.htm#sthref155">Queries</a></li>
<li><a href="performance002.htm#sthref156">Application Server and Database Optimization</a></li>
</ul>
</li>
<li><a href="performance002.htm#CHDHGFDI">Task 6: Measure Performance Again</a></li>
</ul>
</li>
</ul>
<h2><a href="restful_jpa.htm#CHDGHJID"><font face="arial, helvetica, sans-serif"><span class="secnum">19</span> Exposing JPA Entities Through RESTful Data Services</font></a></h2>
<ul style="list-style-type:none">
<li><a href="restful_jpa001.htm#A1585838">Introduction to the Solution</a></li>
<li><a href="restful_jpa002.htm#A1656101">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="restful_jpa002.htm#CHDCIBDG">Step 1: Prerequisites</a></li>
<li><a href="restful_jpa002.htm#CHDGGJJJ">Step 2: Create and Configure the Application</a></li>
<li><a href="restful_jpa002.htm#CHDBHBAC">Step 3: Understand RESTful Data Services URI Basics</a></li>
<li><a href="restful_jpa002.htm#CHDBIIFF">Step 4: Represent Entities Using JPA, JAXB, or JSON</a>
<ul style="list-style-type:none">
<li><a href="restful_jpa002.htm#sthref157">Relationships</a></li>
</ul>
</li>
<li><a href="restful_jpa002.htm#CHDCIHEG">Step 5: Issue Client Calls for Operations on the Persistence Unit</a>
<ul style="list-style-type:none">
<li><a href="restful_jpa002.htm#CHDCDFHG">Specify Media Format in the Header</a></li>
<li><a href="restful_jpa002.htm#CHDGBJGH">About Logging</a></li>
</ul>
</li>
<li><a href="restful_jpa002.htm#CHDGJEDF">Step 6: Implement Security</a></li>
<li><a href="restful_jpa002.htm#CHDHGACD">Step 7: Understand the Structure of RESTful Data Services Responses</a>
<ul style="list-style-type:none">
<li><a href="restful_jpa002.htm#sthref158">Basic Data Types</a></li>
<li><a href="restful_jpa002.htm#sthref159">Links and Relationships</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="restful_jpa003.htm#A1596021">Additional Resources</a></li>
<li><a href="restful_jpa004.htm#CHDEGJIG">RESTful Data Services API Reference</a></li>
<li><a href="restful_jpa004.htm#CHDEIFFJ">Entity Operations</a>
<ul style="list-style-type:none">
<li><a href="restful_jpa004.htm#CHDEBJID">FIND</a></li>
<li><a href="restful_jpa004.htm#CHDCIIIG">PERSIST</a></li>
<li><a href="restful_jpa004.htm#CHDGJGDD">MERGE</a></li>
<li><a href="restful_jpa004.htm#CHDDDDAB">DELETE</a></li>
</ul>
</li>
<li><a href="restful_jpa004.htm#CHDDAJBI">Entity Operations on Relationships</a>
<ul style="list-style-type:none">
<li><a href="restful_jpa004.htm#CHDCEJCC">READ</a></li>
<li><a href="restful_jpa004.htm#CHDBEDDA">ADD</a></li>
<li><a href="restful_jpa004.htm#CHDDGAII">REMOVE</a></li>
</ul>
</li>
<li><a href="restful_jpa004.htm#CHDJFCIF">Query Operations</a>
<ul style="list-style-type:none">
<li><a href="restful_jpa004.htm#CHDBDEBE">Query Returning List of Results</a></li>
<li><a href="restful_jpa004.htm#CHDIHEJJ">Update/Delete Query</a></li>
</ul>
</li>
<li><a href="restful_jpa004.htm#CHDHEJAJ">Single Result Queries</a></li>
<li><a href="restful_jpa004.htm#CHDEHGDH">Base Operations</a>
<ul style="list-style-type:none">
<li><a href="restful_jpa004.htm#CHDCCFCI">List Existing Persistence Units</a></li>
</ul>
</li>
<li><a href="restful_jpa004.htm#CHDFCFFA">Metadata Operations</a>
<ul style="list-style-type:none">
<li><a href="restful_jpa004.htm#CHDGHGHB">List Types in a Persistence Unit</a></li>
<li><a href="restful_jpa004.htm#CHDGEFIJ">List Queries in a Persistence Unit</a></li>
<li><a href="restful_jpa004.htm#CHDJBAFI">Describe a Specific Entity</a></li>
</ul>
</li>
</ul>
<h2><a href="qcn.htm#CHDDAEJB"><font face="arial, helvetica, sans-serif"><span class="secnum">20</span> Using Database Events to Invalidate the Cache</font></a></h2>
<ul style="list-style-type:none">
<li><a href="qcn001.htm#A1099038">Introduction to the Solution</a></li>
<li><a href="qcn002.htm#A1099145">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="qcn002.htm#CHDBAJED">Task 1: Set up the Database and Tables</a></li>
<li><a href="qcn002.htm#CHDDJAIE">Task 2: Grant User Permissions</a></li>
<li><a href="qcn002.htm#CHDFIGGJ">Task 3: Set the Classpath</a></li>
<li><a href="qcn002.htm#CHDJCFDD">Task 4: Identify Classes that will Participate in Change Notification</a></li>
<li><a href="qcn002.htm#CHDBCIIE">Task 5: Add the Database Event Listener</a></li>
<li><a href="qcn002.htm#CHDIIICG">Task 6: Edit the Java Files</a>
<ul style="list-style-type:none">
<li><a href="qcn002.htm#sthref227">Set Optimistic Locking</a></li>
<li><a href="qcn002.htm#CHDGBGAG">Exclude Classes from Change Notification (Optional)</a></li>
<li><a href="qcn002.htm#sthref228">Track Changes in Secondary Tables (Optional)</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="qcn003.htm#A1099205">Limitations on the Solution</a></li>
<li><a href="qcn004.htm#A1584559">Additional Resources</a></li>
</ul>
<h2><a href="nonrelational_db.htm#BGBCIABF"><font face="arial, helvetica, sans-serif"><span class="secnum">21</span> Using EclipseLink with NoSQL Databases</font></a></h2>
<ul style="list-style-type:none">
<li><a href="nonrelational_db001.htm#A1583295">Introduction to the Solution</a></li>
<li><a href="nonrelational_db002.htm#A1582967">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="nonrelational_db002.htm#BABEBADB">Task 1: Prerequisites</a></li>
<li><a href="nonrelational_db002.htm#BABIGCEC">Task 2: Mapping the Data</a></li>
<li><a href="nonrelational_db002.htm#BABEIBBG">Task 3: Defining IDs</a></li>
<li><a href="nonrelational_db002.htm#BABFIIFG">Task 4: Defining Mappings</a></li>
<li><a href="nonrelational_db002.htm#BABFIJAA">Task 5: Using Locking</a></li>
<li><a href="nonrelational_db002.htm#BABIIDED">Task 6: Defining Queries</a>
<ul style="list-style-type:none">
<li><a href="nonrelational_db002.htm#sthref230">JPQL Queries</a></li>
<li><a href="nonrelational_db002.htm#sthref233">Native Queries</a></li>
</ul>
</li>
<li><a href="nonrelational_db002.htm#BABFJIJE">Task 7: Connecting to the Database</a></li>
</ul>
</li>
<li><a href="nonrelational_db003.htm#A1583145">Additional Resources</a></li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="oracledb.htm#BGBFBFFC"><span class="secnum">22</span> Using EclipseLink with the Oracle Database</a></font></h2>
<ul style="list-style-type:none">
<li><a href="oracledb001.htm#CHDDBEHD">Introduction to the Solution</a></li>
<li><a href="oracledb002.htm#CHDJHBIC">Implementing the Solution</a>
<ul style="list-style-type:none">
<li><a href="oracledb002.htm#CHDIBDGJ">Using Oracle Platform-Specific APIs</a></li>
<li><a href="oracledb002.htm#CHDDCIEC">Using Oracle PL/SQL With EclipseLink</a>
<ul style="list-style-type:none">
<li><a href="oracledb002.htm#CHDBBJIG">Executing an Oracle PL/SQL Stored Function</a></li>
<li><a href="oracledb002.htm#CHDDJJBI">Handling PL/SQL arguments for Oracle Stored Procedures</a></li>
</ul>
</li>
<li><a href="oracledb002.htm#CHDEFIBH">Using Oracle Virtual Private Database</a></li>
<li><a href="oracledb002.htm#CHDGDDJF">Using Oracle Proxy Authentication</a>
<ul style="list-style-type:none">
<li><a href="oracledb002.htm#sthref243">Main Tasks:</a></li>
<li><a href="oracledb002.htm#sthref244">Caching and security</a></li>
<li><a href="oracledb002.htm#sthref245">Using Oracle Virtual Private Database for Row-Level Security</a></li>
</ul>
</li>
<li><a href="oracledb002.htm#CHDIEBBB">Using EclipseLink with Oracle RAC</a>
<ul style="list-style-type:none">
<li><a href="oracledb002.htm#sthref246">Accessing a RAC-Enabled database from Java EE Applications</a></li>
<li><a href="oracledb002.htm#sthref250">Accessing a RAC-Enabled Database from Standalone Applications</a></li>
</ul>
</li>
<li><a href="oracledb002.htm#CHDJBFIJ">Using Oracle Spatial and Graph</a></li>
</ul>
</li>
<li><a href="oracledb003.htm#CHDBEHDJ">Additional Resources</a></li>
</ul>
</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="loe.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 />
<font size="-2">Copyright&nbsp;&copy;&nbsp;2014,&nbsp;Oracle&nbsp;and/or&nbsp;its&nbsp;affiliates.&nbsp;All&nbsp;rights&nbsp;reserved.</font> <a href="../../dcommon/html/cpyr.htm"><br />
<td valign="bottom" align="right">
<table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="225">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<!-- class="footer" -->
<div id="copyright">Copyright &copy; 2014 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>