blob: 7323554065621e1781997010dec4c7545d700d57 [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 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:53Z" />
<meta name="description" content="" />
<meta name="robots" content="noarchive" />
<meta name="doctitle" content="Table of Contents" />
<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="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: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>
</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_otlcg.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><font face="arial, helvetica, sans-serif"><a href="general.htm#sthref5"><span class="secnum">1</span> Overview of EclipseLink</a></font></h2>
<ul style="list-style-type:none">
<li><a href="general001.htm#CHDIJJGA">Understanding EclipseLink</a>
<ul style="list-style-type:none">
<li><a href="general001.htm#CHDBEGEB">What Is the Object-Persistence Impedance Mismatch?</a></li>
<li><a href="general001.htm#sthref6">The EclipseLink Solution</a></li>
</ul>
</li>
<li><a href="general002.htm#CHDCFGIC">Key Features</a></li>
<li><a href="general003.htm#CHDBJDEC">Key Concepts</a>
<ul style="list-style-type:none">
<li><a href="general003.htm#CHDBJIJE">EclipseLink Metadata</a></li>
<li><a href="general003.htm#CHDGEFJG">Entities</a></li>
<li><a href="general003.htm#CHDBABAD">Descriptors</a></li>
<li><a href="general003.htm#CHDFGCJF">Mappings</a></li>
<li><a href="general003.htm#CHDFFJIA">Data Access</a></li>
<li><a href="general003.htm#CHDEEBFG">Caching</a></li>
<li><a href="general003.htm#CHDBJIEA">Queries</a></li>
<li><a href="general003.htm#CHDJJFCE">Expression Framework</a></li>
<li><a href="general003.htm#CHDGCGDD">NoSQL Databases</a></li>
<li><a href="general003.htm#CHDBIEJD">Performance Monitoring and Profiling</a></li>
</ul>
</li>
<li><a href="general004.htm#CHDIEEHG">Key Components</a>
<ul style="list-style-type:none">
<li><a href="general004.htm#sthref8">EclipseLink Core and API</a></li>
<li><a href="general004.htm#sthref9">Object-Relational (JPA 2.1) Component</a></li>
<li><a href="general004.htm#CIHGBECC">JAXB Component</a></li>
<li><a href="general004.htm#CIHJDGEC">MOXy Component</a>
<ul style="list-style-type:none">
<li><a href="general004.htm#sthref10">SDO Component</a></li>
</ul>
</li>
<li><a href="general004.htm#CHDIGIDF">Database Web Services Component</a></li>
</ul>
</li>
<li><a href="general005.htm#CHDDDGEH">Key Tools</a>
<ul style="list-style-type:none">
<li><a href="general005.htm#BABGBABF">Oracle JDeveloper</a></li>
<li><a href="general005.htm#BABDFFCB">Eclipse</a></li>
<li><a href="general005.htm#BABCCIDI">NetBeans</a></li>
</ul>
</li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="blocks.htm#CIHICCHA"><span class="secnum">2</span> Understanding Object-Relational and MOXy Internals</a></font></h2>
<ul style="list-style-type:none">
<li><a href="blocks001.htm#CHEDICEE">About Metadata</a>
<ul style="list-style-type:none">
<li><a href="blocks001.htm#BABDDBIJ">Advantages of the Metadata Architecture</a></li>
<li><a href="blocks001.htm#BABEECEF">Creating Project Metadata</a>
<ul style="list-style-type:none">
<li><a href="blocks001.htm#BABIECAI">Entity Mappings</a></li>
<li><a href="blocks001.htm#BABIEAJE">Data Source Login Information</a></li>
</ul>
</li>
<li><a href="blocks001.htm#BABHHGDE">Creating Session Metadata</a></li>
</ul>
</li>
<li><a href="blocks002.htm#CHDDJCHD">About the Object-Relational Solution</a>
<ul style="list-style-type:none">
<li><a href="blocks002.htm#CHDHIEDE">Understanding Object-Relational Entity Architecture</a>
<ul style="list-style-type:none">
<li><a href="blocks002.htm#sthref14">Entities</a></li>
<li><a href="blocks002.htm#sthref15">Persistence and Persistence Units</a></li>
<li><a href="blocks002.htm#sthref16">Entity Managers</a></li>
</ul>
</li>
<li><a href="blocks002.htm#CHDIADII">Adding Metadata Using Annotations</a>
<ul style="list-style-type:none">
<li><a href="blocks002.htm#sthref17">Advantages and Disadvantages of Using Annotations</a></li>
</ul>
</li>
<li><a href="blocks002.htm#CHDIEIFJ">About Configuration Basics</a>
<ul style="list-style-type:none">
<li><a href="blocks002.htm#sthref18">Default Annotation Values</a></li>
<li><a href="blocks002.htm#sthref19">Configuring Persistence Units Using persistence.xml</a></li>
<li><a href="blocks002.htm#CHDFGGBB">Object-Relational Data Type Mappings</a></li>
</ul>
</li>
<li><a href="blocks002.htm#CHDFFBHD">About Data Sources</a></li>
<li><a href="blocks002.htm#CHDGGEID">About EclipseLink Caches</a>
<ul style="list-style-type:none">
<li><a href="blocks002.htm#sthref20">Defining Cache Behavior</a></li>
<li><a href="blocks002.htm#sthref21">Caching in Clustered Environments</a></li>
</ul>
</li>
<li><a href="blocks002.htm#CHDFGCJB">About Database Queries</a></li>
</ul>
</li>
<li><a href="blocks003.htm#CHDJGIEF">About the MOXy Solution</a>
<ul style="list-style-type:none">
<li><a href="blocks003.htm#CHDBGGJD">Using EclipseLink MOXy as the JAXB Provider</a></li>
<li><a href="blocks003.htm#CHDBDFCI">Understanding MOXy Architecture</a>
<ul style="list-style-type:none">
<li><a href="blocks003.htm#CHDDHHEI">JAXB Contexts and JAXB Context Factories</a></li>
</ul>
</li>
<li><a href="blocks003.htm#CHDIJADI">Serving Metadata for MOXy</a></li>
<li><a href="blocks003.htm#CHDCHHHI">About XML Bindings</a></li>
<li><a href="blocks003.htm#CHDDHJAJ">Querying Objects by XPath</a></li>
</ul>
</li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="app_dev.htm#CCHJJBDH"><span class="secnum">3</span> Understanding the Persistence Unit</a></font></h2>
<ul style="list-style-type:none">
<li><a href="app_dev001.htm#BABHCJDG">About the Persistence Unit</a>
<ul style="list-style-type:none">
<li><a href="app_dev001.htm#BGBCGCBI">About the Persistence Unit Name</a></li>
<li><a href="app_dev001.htm#sthref23">About the Persistence Provider</a></li>
<li><a href="app_dev001.htm#BGBJGFGJ">About the Transaction Type Data Source</a></li>
<li><a href="app_dev001.htm#sthref24">About Logging</a></li>
<li><a href="app_dev001.htm#BGBBEFAC">About Vendor Properties</a></li>
<li><a href="app_dev001.htm#BGBEGAEA">About Mapping Files</a></li>
<li><a href="app_dev001.htm#BGBHFFAG">About Managed Classes</a></li>
<li><a href="app_dev001.htm#BGBDCBJJ">About the Deployment Classpath</a></li>
<li><a href="app_dev001.htm#BGBJGHBG">About Persistence Unit Packaging Options</a></li>
<li><a href="app_dev001.htm#BGBCJBGD">About the Persistence Unit Scope</a></li>
<li><a href="app_dev001.htm#CHDBJIEH">About Composite Persistence Units</a></li>
</ul>
</li>
<li><a href="app_dev002.htm#BABCCAHJ">Building and Using the Persistence Layer</a>
<ul style="list-style-type:none">
<li><a href="app_dev002.htm#BABBGDHH">Implementation Options</a>
<ul style="list-style-type:none">
<li><a href="app_dev002.htm#CCHGEJEA">Using EclipseLink JPA Metatdata, Annotations, and XML</a></li>
<li><a href="app_dev002.htm#CCHHEIFG">Using EclipseLink Metadata Java API</a></li>
<li><a href="app_dev002.htm#CCHJBHDG">Using Method and Direct Field Access</a></li>
<li><a href="app_dev002.htm#CCHGGAGE">Using Java Byte-code Weaving</a></li>
</ul>
</li>
<li><a href="app_dev002.htm#BABDHDIA">Persistent Class Requirements</a></li>
<li><a href="app_dev002.htm#BABCCJCC">Persistence Layer Components</a>
<ul style="list-style-type:none">
<li><a href="app_dev002.htm#BABFEEGF">Mapping Metadata</a></li>
<li><a href="app_dev002.htm#BABBGFHF">Cache</a></li>
<li><a href="app_dev002.htm#BABJDGGH">Queries and Expressions</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="app_dev003.htm#BABFEDHA">About Persisting Objects</a>
<ul style="list-style-type:none">
<li><a href="app_dev003.htm#BABEIFFG">Application Object Model</a></li>
<li><a href="app_dev003.htm#BABBIABD">Data Storage Schema</a></li>
<li><a href="app_dev003.htm#BABDCJDH">Primary Keys and Object Identity</a></li>
<li><a href="app_dev003.htm#BABFEIHF">Mappings</a></li>
<li><a href="app_dev003.htm#BABEEJHA">Foreign Keys and Object Relationships</a></li>
<li><a href="app_dev003.htm#BABBAIFB">Inheritance</a></li>
<li><a href="app_dev003.htm#BABEDGBH">Concurrency</a></li>
<li><a href="app_dev003.htm#BABBBCAC">Caching</a></li>
<li><a href="app_dev003.htm#BABGFFJF">Nonintrusive Persistence</a></li>
<li><a href="app_dev003.htm#BABCCDGC">Indirection</a></li>
<li><a href="app_dev003.htm#CCHBBHDH">Mutability</a></li>
</ul>
</li>
<li><a href="app_dev004.htm#CHDEEFED">Migrating Applications to the EclipseLink Persistence Manager</a></li>
<li><a href="app_dev005.htm#CCHJEDFH">About Weaving</a>
<ul style="list-style-type:none">
<li><a href="app_dev005.htm#CCHHBDAJ">Using Dynamic Weaving</a></li>
<li><a href="app_dev005.htm#CCHGIFEG">Using Static Weaving</a></li>
<li><a href="app_dev005.htm#CHDHAAHE">Weaving POJO Classes</a></li>
<li><a href="app_dev005.htm#CHDGACIJ">Weaving and Jakarta EE Application Servers</a></li>
<li><a href="app_dev005.htm#CHDECEBI">Disabling Weaving with Persistence Unit Properties</a></li>
</ul>
</li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="entities.htm#CIHGAJCF"><span class="secnum">4</span> Understanding Entities</a></font></h2>
<ul style="list-style-type:none">
<li><a href="entities001.htm#BABEIGGB">Identifying Entities</a></li>
<li><a href="entities002.htm#BGBBIEHE">Entities and Persistent Identity</a></li>
<li><a href="entities003.htm#BABCCFHI">Entities and Database Tables</a></li>
<li><a href="entities004.htm#BABFIFDJ">Entities and Inheritance</a></li>
<li><a href="entities005.htm#BABGBFDG">Entities and Embedded Objects</a></li>
<li><a href="entities006.htm#BGBCGGDE">Entities and Sequence Generation</a></li>
<li><a href="entities007.htm#BGBBDDIJ">Entities and Locking</a></li>
<li><a href="entities008.htm#BABEJFDH">Extensible Entities</a></li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="descriptors.htm#CHECEAAE"><span class="secnum">5</span> Understanding Descriptors</a></font></h2>
<ul style="list-style-type:none">
<li><a href="descriptors001.htm#CHEBFJEC">Common Descriptor Concepts</a>
<ul style="list-style-type:none">
<li><a href="descriptors001.htm#CHEJJGIE">Descriptor Architecture</a></li>
<li><a href="descriptors001.htm#CHEEDJEH">Descriptors and Inheritance</a>
<ul style="list-style-type:none">
<li><a href="descriptors001.htm#CHEEIAEA">Specifying a Class Indicator</a></li>
<li><a href="descriptors001.htm#CHECJEGE">Inheritance and Primary Keys</a></li>
<li><a href="descriptors001.htm#CHEJGFGH">Single and Multi-Table Inheritance</a></li>
<li><a href="descriptors001.htm#CHEEDCIJ">Aggregate and Composite Descriptors and Inheritance</a></li>
</ul>
</li>
<li><a href="descriptors001.htm#CHEIIIBJ">Descriptors and Aggregation</a></li>
<li><a href="descriptors001.htm#CACGEBJF">Descriptor Customization</a></li>
<li><a href="descriptors001.htm#CHEIGIHG">Amendment Methods</a></li>
<li><a href="descriptors001.htm#CHEDDDJF">Descriptor Event Manager</a></li>
</ul>
</li>
<li><a href="descriptors002.htm#CHDIJDHB">Object-Relational Descriptor Concepts</a>
<ul style="list-style-type:none">
<li><a href="descriptors002.htm#CHEJJCCG">Fetch Groups</a>
<ul style="list-style-type:none">
<li><a href="descriptors002.htm#sthref27">AttributeGroup Types and Operations</a></li>
<li><a href="descriptors002.htm#CHDCHCHI">FetchGroup</a></li>
<li><a href="descriptors002.htm#CHDBHDBG">Default FetchGroup</a></li>
<li><a href="descriptors002.htm#CHDDIGEH">Named FetchGroup</a></li>
<li><a href="descriptors002.htm#CHDHFEIB">Full FetchGroup</a></li>
<li><a href="descriptors002.htm#CHDFADCE">Load/LoadAll with FetchGroup</a></li>
<li><a href="descriptors002.htm#CHDJHHGD">LoadGroup</a></li>
<li><a href="descriptors002.htm#CHDCJDIE">CopyGroup</a></li>
<li><a href="descriptors002.htm#CHDIIBAJ">Merging</a></li>
</ul>
</li>
<li><a href="descriptors002.htm#CHEFCCBD">Descriptor Query Manager</a></li>
<li><a href="descriptors002.htm#CHECGEFD">Descriptors and Sequencing</a></li>
<li><a href="descriptors002.htm#CHEEEIEA">Descriptors and Locking</a>
<ul style="list-style-type:none">
<li><a href="descriptors002.htm#CIHJCGBA">Optimistic Version Locking Policies</a></li>
<li><a href="descriptors002.htm#CIHCFBJG">Pessimistic Locking Policies</a></li>
<li><a href="descriptors002.htm#BCGDJHAF">Applying Locking in an Application</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="descriptors003.htm#sthref30">Descriptor Files</a>
<ul style="list-style-type:none">
<li><a href="descriptors003.htm#BCFDEAGB">Using orm.xml for Object-Relational Mappings</a></li>
<li><a href="descriptors003.htm#BCFDDBGI">Using eclipselink-orm.xml for EclipseLink Object-Relational Mappings</a>
<ul style="list-style-type:none">
<li><a href="descriptors003.htm#sthref31">Overriding and Merging Mapping Information</a></li>
<li><a href="descriptors003.htm#sthref32">Validating the XML Schema</a></li>
<li><a href="descriptors003.htm#sthref33">Advantages and Disadvantages of Using XML</a></li>
</ul>
</li>
<li><a href="descriptors003.htm#CHDIJFAC">Using eclipselink-oxm.xml for EclipseLink MOXy Mappings</a></li>
</ul>
</li>
</ul>
<h2><a href="mappingintro.htm#CHDFEJIJ"><font face="arial, helvetica, sans-serif"><span class="secnum">6</span> Understanding Mappings</font></a></h2>
<ul style="list-style-type:none">
<li><a href="mappingintro001.htm#CHDGIHEJ">Common Mapping Concepts</a>
<ul style="list-style-type:none">
<li><a href="mappingintro001.htm#CHDEDGDF">Mapping Architecture</a></li>
<li><a href="mappingintro001.htm#CHDGGFCH">Mapping Examples</a></li>
<li><a href="mappingintro001.htm#CHDJJHJD">Mapping Converters</a>
<ul style="list-style-type:none">
<li><a href="mappingintro001.htm#BABHCBJA">Serialized Object Converter</a></li>
<li><a href="mappingintro001.htm#BABEHFGH">Type Conversion Converter</a></li>
<li><a href="mappingintro001.htm#BABBCAIH">Object Type Converter</a></li>
</ul>
</li>
<li><a href="mappingintro001.htm#CHDDBJJJ">Transformation Mapping</a></li>
</ul>
</li>
<li><a href="mappingintro002.htm#CEGDCCDH">Object-Relational Mapping Concepts</a>
<ul style="list-style-type:none">
<li><a href="mappingintro002.htm#CHDJAHDC">Indirection (Lazy Loading)</a></li>
<li><a href="mappingintro002.htm#CHDEEIBD">Indirection, Serialization, and Detachment</a></li>
<li><a href="mappingintro002.htm#CEGHBHEA">Value Holder Indirection</a></li>
<li><a href="mappingintro002.htm#CEGGCCGA">Transparent Indirection</a></li>
<li><a href="mappingintro002.htm#CEGDCAIG">Proxy Indirection</a>
<ul style="list-style-type:none">
<li><a href="mappingintro002.htm#CEGGDDJB">Proxy Indirection Restrictions</a></li>
</ul>
</li>
<li><a href="mappingintro002.htm#CHDBJGII">Weaved Indirection</a></li>
<li><a href="mappingintro002.htm#A7964325">About JPA Mapping Types</a>
<ul style="list-style-type:none">
<li><a href="mappingintro002.htm#CEGGDAJJ">Basic Mappings</a></li>
<li><a href="mappingintro002.htm#CEGJFEAH">Default Conversions and Converters</a></li>
<li><a href="mappingintro002.htm#CEGGABIA">Collection Mappings</a></li>
<li><a href="mappingintro002.htm#CEGDIIIB">Using Optimistic Locking</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="mappingintro003.htm#CEGEJJGJ">MOXy Mapping Concepts</a>
<ul style="list-style-type:none">
<li><a href="mappingintro003.htm#sthref52">Understanding an XML Data Representation</a></li>
<li><a href="mappingintro003.htm#sthref53">Mapping Values</a></li>
</ul>
</li>
<li><a href="mappingintro004.htm#CEGBADEF">Object-JSON Mapping Concepts</a></li>
</ul>
<h2><a href="data_access.htm#CHDJBDEA"><font face="arial, helvetica, sans-serif"><span class="secnum">7</span> Understanding Data Access</font></a></h2>
<ul style="list-style-type:none">
<li><a href="data_access001.htm#CHDBIBBJ">About Externally Managed Transactional Data Sources</a></li>
<li><a href="data_access002.htm#CHDFIDBC">About Data Source Login Types</a></li>
<li><a href="data_access003.htm#CHDIICCF">About Data Source Platform Types</a></li>
<li><a href="data_access004.htm#CHDBFFGG">About Authentication</a>
<ul style="list-style-type:none">
<li><a href="data_access004.htm#CHDEIDHF">Simple JDBC Authentication</a></li>
<li><a href="data_access004.htm#CHDFACHD">Oracle Database Proxy Authentication</a></li>
<li><a href="data_access004.htm#CHDFCJDB">Auditing</a></li>
</ul>
</li>
<li><a href="data_access005.htm#CHDJBIGE">About Connections</a></li>
<li><a href="data_access006.htm#CHDBGIHH">About Connection Pools</a>
<ul style="list-style-type:none">
<li><a href="data_access006.htm#CHDHEIJE">Internal Connection Pools</a></li>
<li><a href="data_access006.htm#CHDCAIEJ">External Connection Pools</a></li>
<li><a href="data_access006.htm#CHDJGAJE">Default (Write) and Read Connection Pools</a></li>
<li><a href="data_access006.htm#CHDEFJHH">Sequence Connection Pools</a></li>
<li><a href="data_access006.htm#CHDDGHGA">Application-Specific Connection Pools</a></li>
</ul>
</li>
<li><a href="data_access007.htm#A1104999">About Data Partitioning Policies</a></li>
<li><a href="data_access008.htm#BEIJCHHH">About Tenant Isolation</a>
<ul style="list-style-type:none">
<li><a href="data_access008.htm#BEIBAJBE">Single Table Multi-Tenancy</a></li>
<li><a href="data_access008.htm#BEIHJCBG">Table-Per-Tenant Multi-Tenancy</a></li>
<li><a href="data_access008.htm#BEIJCDEA">VPD Multi-Tenancy</a></li>
</ul>
</li>
<li><a href="data_access009.htm#BEICGJIF">About Heterogeneous Batch Writing</a></li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="cache.htm#CDEFHHEH"><span class="secnum">8</span> Understanding Caching</a></font></h2>
<ul style="list-style-type:none">
<li><a href="cache001.htm#CHECCJJD">About Cache Architecture</a>
<ul style="list-style-type:none">
<li><a href="cache001.htm#CACHIFGC">Persistence Unit Cache</a></li>
<li><a href="cache001.htm#sthref55">Persistence Context Cache</a>
<ul style="list-style-type:none">
<li><a href="cache001.htm#sthref56">Application Managed Persistence Contexts</a></li>
<li><a href="cache001.htm#sthref57">Container Managed Persistence Contexts</a></li>
</ul>
</li>
<li><a href="cache001.htm#CDEEGICF">Shared, Isolated, Protected, Weak, and Read-only Caches</a>
<ul style="list-style-type:none">
<li><a href="cache001.htm#CDEBIHCH">Isolated Cache</a></li>
<li><a href="cache001.htm#CDEEIBAC">Shared Cache</a></li>
<li><a href="cache001.htm#CDEHCDJD">Protected Cache</a></li>
<li><a href="cache001.htm#CDEJAHDJ">Weak Reference Mode</a></li>
<li><a href="cache001.htm#sthref58">Read-Only Entities</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="cache002.htm#CHEFCFEG">About Cache Type and Size</a>
<ul style="list-style-type:none">
<li><a href="cache002.htm#CHEHGEEB">FULL Cache Type</a></li>
<li><a href="cache002.htm#CHEGIBAC">WEAK Cache Type</a></li>
<li><a href="cache002.htm#CACHBJGE">SOFT Cache Type</a></li>
<li><a href="cache002.htm#CHEJDCBH">SOFT_WEAK and HARD_WEAK Cache Type</a></li>
<li><a href="cache002.htm#CHEEBFCI">NONE and CACHE</a></li>
<li><a href="cache002.htm#sthref60">Guidelines for Configuring the Cache and Identity Maps</a>
<ul style="list-style-type:none">
<li><a href="cache002.htm#CDEJFBEH">About the Internals of Weak, Soft, and Hard Cache Types</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="cache003.htm#CHEGBAJC">About Queries and the Cache</a>
<ul style="list-style-type:none">
<li><a href="cache003.htm#CHDBDFGD">About Query Cache Options and In-memory Querying</a></li>
</ul>
</li>
<li><a href="cache004.htm#CHEEACDJ">About Handling Stale Data</a>
<ul style="list-style-type:none">
<li><a href="cache004.htm#CHEIDFII">Configuring a Locking Policy</a>
<ul style="list-style-type:none">
<li><a href="cache004.htm#BABDIIJF">Optimistic Locking</a></li>
<li><a href="cache004.htm#BABICDEB">Pessimistic Locking</a></li>
</ul>
</li>
<li><a href="cache004.htm#CHEJJGCE">Configuring the Cache on a Per-Class Basis</a></li>
<li><a href="cache004.htm#CHEHAIIB">Forcing a Cache Refresh when Required on a Per-Query Basis</a></li>
<li><a href="cache004.htm#CHEFBGEH">Configuring Cache Invalidation</a></li>
<li><a href="cache004.htm#CHEHIABF">Configuring Cache Coordination</a></li>
</ul>
</li>
<li><a href="cache005.htm#i1128663">About Explicit Query Refreshes</a></li>
<li><a href="cache006.htm#A8003897">About Cache Indexes</a></li>
<li><a href="cache007.htm#CHDFIIDE">Database Event Notification and Oracle CQN</a>
<ul style="list-style-type:none">
<li><a href="cache007.htm#sthref61">Oracle Continuous Query Notification</a></li>
</ul>
</li>
<li><a href="cache008.htm#CDEBGAHD">About Query Results Cache</a></li>
<li><a href="cache009.htm#CDEIBJCE">About Cache Coordination</a>
<ul style="list-style-type:none">
<li><a href="cache009.htm#CDEDBJCJ">When to Use Cache Coordination</a></li>
</ul>
</li>
<li><a href="cache010.htm#CDEGDGAA">Clustering and Cache Coordination</a>
<ul style="list-style-type:none">
<li><a href="cache010.htm#CHDCJEFJ">Coordinating JMS and RMI Caches</a></li>
<li><a href="cache010.htm#CDEECFJG">Coordinating Custom Caches</a></li>
</ul>
</li>
<li><a href="cache011.htm#CHDGGCBB">Clustering and Cache Consistency</a></li>
<li><a href="cache012.htm#CHDHGJBJ">Cache Interceptors</a></li>
</ul>
<h2><a href="queries.htm#CHDGGCJB"><font face="arial, helvetica, sans-serif"><span class="secnum">9</span> Understanding Queries</font></a></h2>
<ul style="list-style-type:none">
<li><a href="queries001.htm#CACIGEIH">Query Concepts</a>
<ul style="list-style-type:none">
<li><a href="queries001.htm#CACJBFHJ">Call Objects</a></li>
<li><a href="queries001.htm#CACFBJBF">DatabaseQuery Objects</a></li>
<li><a href="queries001.htm#CACIAFDF">Data-Level and Object-Level Queries</a></li>
<li><a href="queries001.htm#CACJGHBC">Summary Queries</a></li>
<li><a href="queries001.htm#CACDCDFD">Descriptor Query Manager</a></li>
<li><a href="queries001.htm#CACJAEDA">Query Keys</a></li>
</ul>
</li>
<li><a href="queries002.htm#CHDJHGFI">About JPQL Queries</a>
<ul style="list-style-type:none">
<li><a href="queries002.htm#CIHFHJBE">EclipseLink Extensions to JPQL</a></li>
<li><a href="queries002.htm#CIHBIDFG">EclipseLink Special Operators in JPQL</a></li>
</ul>
</li>
<li><a href="queries003.htm#CACFDBJD">About SQL Query Language</a>
<ul style="list-style-type:none">
<li><a href="queries003.htm#CIHEBJDC">Stored Procedures</a>
<ul style="list-style-type:none">
<li><a href="queries003.htm#sthref63">EclipseLink Extensions to Stored Procedures</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="queries004.htm#A7714964">About the Criteria API</a>
<ul style="list-style-type:none">
<li><a href="queries004.htm#sthref64">EclipseLink Extensions to the Criteria API</a></li>
</ul>
</li>
<li><a href="queries005.htm#A7724128">About Native SQL Queries</a>
<ul style="list-style-type:none">
<li><a href="queries005.htm#CHDFHBJD">EclipseLink Extensions to Native Query Support</a></li>
</ul>
</li>
<li><a href="queries006.htm#A7725420">About Query Hints</a>
<ul style="list-style-type:none">
<li><a href="queries006.htm#CIHFICDB">JPA Cache Query Hints</a></li>
<li><a href="queries006.htm#CIHJEHDG">EclipseLink Extensions to Cache Query Hints</a></li>
</ul>
</li>
<li><a href="queries007.htm#A7736691">About Query Casting</a>
<ul style="list-style-type:none">
<li><a href="queries007.htm#sthref65">EclipseLink Expression Support for Downcasting</a></li>
</ul>
</li>
<li><a href="queries008.htm#CACHGGDB">About Oracle Extensions for Queries</a>
<ul style="list-style-type:none">
<li><a href="queries008.htm#CACJAJFH">Query Hints</a></li>
<li><a href="queries008.htm#CACDIJHF">Hierarchical Queries</a></li>
<li><a href="queries008.htm#CACCJIGE">Flashback Queries</a></li>
<li><a href="queries008.htm#CACDDIDI">Stored Functions</a></li>
</ul>
</li>
</ul>
<h2><a href="expressions.htm#CHDCAIGD"><font face="arial, helvetica, sans-serif"><span class="secnum">10</span> Understanding EclipseLink Expressions</font></a></h2>
<ul style="list-style-type:none">
<li><a href="expressions001.htm#CJACHEAD">About the Expression Framework</a></li>
<li><a href="expressions002.htm#CJAJIGEE">About Expression Components</a>
<ul style="list-style-type:none">
<li><a href="expressions002.htm#CJABDJIC">Boolean Logic</a></li>
<li><a href="expressions002.htm#CJAEGFGE">Database Functions and Operators</a>
<ul style="list-style-type:none">
<li><a href="expressions002.htm#CJADHIHG">Oracle XMLType Functions</a></li>
</ul>
</li>
<li><a href="expressions002.htm#CJAGJAGI">Platform and User-Defined Functions</a></li>
<li><a href="expressions002.htm#CJAGEJBC">Expressions for One-to-One and Aggregate Object Relationships</a></li>
<li><a href="expressions002.htm#CJAIJIIF">Expressions for Joining and Complex Relationships</a>
<ul style="list-style-type:none">
<li><a href="expressions002.htm#CJABCJII">About Joins</a></li>
<li><a href="expressions002.htm#CJAJIHBJ">Using EclipseLink Expression API for Joins</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h2><font face="arial, helvetica, sans-serif"><a href="nosql.htm#BJEIGBFD"><span class="secnum">11</span> Understanding Non-relational Data Sources</a></font></h2>
<ul style="list-style-type:none">
<li><a href="nosql001.htm#BJEIHEJG">NoSQL Platform Concepts</a></li>
<li><a href="nosql002.htm#BJEIIHIG">About NoSQL Persistence Units</a>
<ul style="list-style-type:none">
<li><a href="nosql002.htm#sthref67">Persistence Unit Properties for NoSQL Platforms</a></li>
</ul>
</li>
<li><a href="nosql003.htm#BJEEAGCG">About JPA Applications on the NoSQL Platform</a>
<ul style="list-style-type:none">
<li><a href="nosql003.htm#sthref68">Mapping Restrictions on JPA Annotations</a></li>
</ul>
</li>
<li><a href="nosql004.htm#BJEDCHIJ">About Mapping NoSQL Objects</a></li>
<li><a href="nosql005.htm#BJECCHBC">About Queries and the NoSQL Platform</a></li>
<li><a href="nosql006.htm#BJECGBHH">About Transactions and the NoSQL Platform</a></li>
</ul>
<h2><a href="app_tl_ext.htm#sthref69"><font face="arial, helvetica, sans-serif"><span class="secnum">A</span> Database and Application Server Support</font></a></h2>
<ul style="list-style-type:none">
<li><a href="app_tl_ext001.htm#A1095976">Database Support</a></li>
<li><a href="app_tl_ext002.htm#A1115041">Application Server Support</a>
<ul style="list-style-type:none">
<li><a href="app_tl_ext002.htm#sthref72">EclipseLink MOXy as the JAXB Provider for Application Servers</a></li>
</ul>
</li>
<li><a href="app_tl_ext003.htm#CJAECHBD">Non-SQL Standard Database Support: NoSQL</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 />
<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; 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>