You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by mb...@apache.org on 2020/05/28 18:30:21 UTC

[db-jdo-site] branch master updated: JDO-779: normalized line endings

This is an automated email from the ASF dual-hosted git repository.

mbo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/db-jdo-site.git


The following commit(s) were added to refs/heads/master by this push:
     new b183a36  JDO-779: normalized line endings
b183a36 is described below

commit b183a367232fb6dab658acddaf60eccba78140f5
Author: Michael Bouschen <Mi...@akquinet.de>
AuthorDate: Thu May 28 20:30:03 2020 +0200

    JDO-779: normalized line endings
---
 docs/annotations.html        | 8018 +++++++++++++++++++++---------------------
 docs/attach_detach.html      | 1250 +++----
 docs/class_types.html        |  842 ++---
 docs/dependencies.html       |  874 ++---
 docs/downloads.html          |  794 ++---
 docs/enhancement.html        | 1780 +++++-----
 docs/exceptions.html         |  934 ++---
 docs/extents.html            |  712 ++--
 docs/faq.html                |  752 ++--
 docs/fetchgroups.html        | 1398 ++++----
 docs/field_types.html        | 1622 ++++-----
 docs/get-involved.html       |  816 ++---
 docs/getting-started.html    |  674 ++--
 docs/glossary.html           | 1040 +++---
 docs/guides-maven-jdo.html   | 1274 +++----
 docs/guides-replication.html |  980 +++---
 docs/impls.html              |  982 +++---
 docs/issuetracking.html      |  790 ++---
 docs/javadoc.html            |  852 ++---
 docs/jdo_3_0_overview.html   | 1136 +++---
 docs/jdo_dtd.html            |  756 ++--
 docs/jdo_v_jpa.html          | 1114 +++---
 docs/jdo_v_jpa_api.html      |  826 ++---
 docs/jdo_v_jpa_orm.html      | 1326 +++----
 docs/jdocentral.html         |  706 ++--
 docs/jdoconfig_dtd.html      |  758 ++--
 docs/jdohelper.html          |  948 ++---
 docs/jdoql.html              | 1280 +++----
 docs/jdoql_methods.html      | 1446 ++++----
 docs/jdoql_result.html       |  986 +++---
 docs/jdoquery_dtd.html       |  758 ++--
 docs/mail-lists.html         |  746 ++--
 docs/metadata.html           |  792 ++---
 docs/newshistory.html        |  704 ++--
 docs/object_retrieval.html   |  838 ++---
 docs/orm_dtd.html            |  758 ++--
 docs/pm.html                 | 1154 +++---
 docs/pmf.html                | 1120 +++---
 docs/references.html         |  822 ++---
 docs/release-3.0.1.html      | 1002 +++---
 docs/release-3.1-rc1.html    |  954 ++---
 docs/release-3.1.html        |  918 ++---
 docs/roadmap.html            |  692 ++--
 docs/source-code.html        |  768 ++--
 docs/specifications.html     |  794 ++---
 docs/state_transition.html   | 1164 +++---
 docs/tck.html                |  760 ++--
 docs/team-list.html          |  884 ++---
 docs/transactions.html       |  784 ++---
 docs/why_jdo.html            | 1052 +++---
 50 files changed, 27565 insertions(+), 27565 deletions(-)

diff --git a/docs/annotations.html b/docs/annotations.html
index 76574d5..c27935d 100644
--- a/docs/annotations.html
+++ b/docs/annotations.html
@@ -1,4010 +1,4010 @@
-<!DOCTYPE html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- No caching headers -->
-    <meta http-equiv="cache-control" content="no-cache"/>
-    <meta http-equiv="pragma" content="no-cache"/>
-    <meta http-equiv="expires" content="-1"/>
-    <meta name="keywords" content="JDO, Apache, Java, Data, Objects"/>
-    <meta name="description" content="Apache JDO - Java Data Objects"/>
-
-    <title>JDO : Annotations</title>
-
-    <link rel="icon" type="image/png" href="https://apache.github.io/db-jdo-site/images/JDO_32x32.png"/>
-
-    <!--
-        Apache JDO Documentation Template
-        ==================================
-        This template derived various aspects from Apache Deltaspike template, the Apache ISIS template and the Datanucleus template.
-        This template uses 
-        * Bootstrap v3.3.7 (https://getbootstrap.com/) for navbar.
-        * Asciidoctor "foundation" CSS
-        * Bootswatch "cosmo" theme for Bootstrap (https://bootswatch.com/cosmo).
-        * Bootstrap TOC plugin v0.4.1 (https://afeld.github.io/bootstrap-toc/) for the table of contents.
-        * jQuery (necessary for Bootstrap's JavaScript plugins)
-        * Font-Awesome for some icons used by Asciidoctor
-        NOTE: tried using Font-Awesome CSS hosted locally but then fails to work!
-    -->
-    <link href="css/bootswatch/3.3.7/bootstrap-cosmo.css" rel="stylesheet"/>
-    <link href="css/bootstrap-toc/0.4.1/bootstrap-toc.min.css" rel="stylesheet"/>
-
-    <link href="css/asciidoctor/foundation.css" rel="stylesheet"/>
-    <link href="css/datanucleus_theme.css" rel="stylesheet"/>
-    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
-
-    
-    
-     
-
-    
-
-    
-    
-    
-
-    
-    
-    
-
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
-    <script src="js/bootstrap/3.3.7/bootstrap.min.js"></script>
-    <script src="js/bootstrap-toc/0.4.1/bootstrap-toc.min.js"></script>
-
-    <!-- Coderay syntax formatter -->
-    <style type="text/css">
-        /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
-/*pre.CodeRay {background-color:#f7f7f8;}*/
-.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
-.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
-.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)}
-table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
-table.CodeRay td{vertical-align: top;line-height:1.45}
-table.CodeRay td.line-numbers{text-align:right}
-table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
-table.CodeRay td.code{padding:0 0 0 .5em}
-table.CodeRay td.code>pre{padding:0}
-.CodeRay .debug{color:#fff !important;background:#000080 !important}
-.CodeRay .annotation{color:#007}
-.CodeRay .attribute-name{color:#000080}
-.CodeRay .attribute-value{color:#700}
-.CodeRay .binary{color:#509}
-.CodeRay .comment{color:#998;font-style:italic}
-.CodeRay .char{color:#04d}
-.CodeRay .char .content{color:#04d}
-.CodeRay .char .delimiter{color:#039}
-.CodeRay .class{color:#458;font-weight:bold}
-.CodeRay .complex{color:#a08}
-.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
-.CodeRay .color{color:#099}
-.CodeRay .class-variable{color:#369}
-.CodeRay .decorator{color:#b0b}
-.CodeRay .definition{color:#099}
-.CodeRay .delimiter{color:#000}
-.CodeRay .doc{color:#970}
-.CodeRay .doctype{color:#34b}
-.CodeRay .doc-string{color:#d42}
-.CodeRay .escape{color:#666}
-.CodeRay .entity{color:#800}
-.CodeRay .error{color:#808}
-.CodeRay .exception{color:inherit}
-.CodeRay .filename{color:#099}
-.CodeRay .function{color:#900;font-weight:bold}
-.CodeRay .global-variable{color:#008080}
-.CodeRay .hex{color:#058}
-.CodeRay .integer,.CodeRay .float{color:#099}
-.CodeRay .include{color:#555}
-.CodeRay .inline{color:#000}
-.CodeRay .inline .inline{background:#ccc}
-.CodeRay .inline .inline .inline{background:#bbb}
-.CodeRay .inline .inline-delimiter{color:#d14}
-.CodeRay .inline-delimiter{color:#d14}
-.CodeRay .important{color:#555;font-weight:bold}
-.CodeRay .interpreted{color:#b2b}
-.CodeRay .instance-variable{color:#008080}
-.CodeRay .label{color:#970}
-.CodeRay .local-variable{color:#963}
-.CodeRay .octal{color:#40e}
-.CodeRay .predefined{color:#369}
-.CodeRay .preprocessor{color:#579}
-.CodeRay .pseudo-class{color:#555}
-.CodeRay .directive{font-weight:bold}
-.CodeRay .type{font-weight:bold}
-.CodeRay .predefined-type{color:inherit}
-.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
-.CodeRay .key{color:#808}
-.CodeRay .key .delimiter{color:#606}
-.CodeRay .key .char{color:#80f}
-.CodeRay .value{color:#088}
-.CodeRay .regexp .delimiter{color:#808}
-.CodeRay .regexp .content{color:#808}
-.CodeRay .regexp .modifier{color:#808}
-.CodeRay .regexp .char{color:#d14}
-.CodeRay .regexp .function{color:#404;font-weight:bold}
-.CodeRay .string{color:#d20}
-.CodeRay .string .string .string{background:#ffd0d0}
-.CodeRay .string .content{color:#d14}
-.CodeRay .string .char{color:#d14}
-.CodeRay .string .delimiter{color:#d14}
-.CodeRay .shell{color:#d14}
-.CodeRay .shell .delimiter{color:#d14}
-.CodeRay .symbol{color:#990073}
-.CodeRay .symbol .content{color:#a60}
-.CodeRay .symbol .delimiter{color:#630}
-.CodeRay .tag{color:#008080}
-.CodeRay .tag-special{color:#d70}
-.CodeRay .variable{color:#036}
-.CodeRay .insert{background:#afa}
-.CodeRay .delete{background:#faa}
-.CodeRay .change{color:#aaf;background:#007}
-.CodeRay .head{color:#f8f;background:#505}
-.CodeRay .insert .insert{color:#080}
-.CodeRay .delete .delete{color:#800}
-.CodeRay .change .change{color:#66f}
-.CodeRay .head .head{color:#f4f}
-    </style>
-</head>
-<body data-spy="scroll" data-target="#toc">
-<!-- Navbar -->
-<nav class="navbar navbar-default navbar-static-top">
-    <div class="container">
-        <div class="navbar-header">
-            <!-- Three line menu button for use on mobile screens -->
-            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
-                <span class="sr-only">Toggle navigation</span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-            </button>
-            <!-- 'style' added to align image with navbar. FIX THIS -->
-            <a class="navbar-brand" href="https://db.apache.org/jdo/">
-                <img style="margin-top: -12px;" alt="Brand" src="images/JDO_44x44.png"/>
-            </a>
-            <!-- TODO Any way to abstract the version from Maven? -->
-            <a class="navbar-brand" href="index.html">Apache JDO</a>
-        </div>
-        <!-- Navbar that will collapse on mobile screens -->
-        <div id="navbar" class="navbar-collapse collapse">
-            <ul class="nav navbar-nav">
-                <li class="dropdown">
-
-                  <!-- menu item General -->
-
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">General<span class="caret"></span></a>
-                  
-                  <ul class="dropdown-menu">
-                        <li><a href="why_jdo.html">Why JDO?</a></li>
-                        <li><a href="getting-started.html">Getting Started</a></li>
-                        <li><a href="specifications.html">Specifications</a></li>
-                        <li><a href="tck.html">TCK</a></li>
-                        <li><a href="javadoc.html">API Javadoc</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="jdo_v_jpa.html">JDO v JPA</a></li>
-                        <li><a href="jdo_v_jpa_api.html">JDO v JPA : API</a></li>
-                        <li><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
-                        <li><a href="impls.html">Implementations</a></li>
-                        <li><a href="jdo_3_0_overview.html">JDO 3.0 Overview</a></li>
-                        <li><a href="references.html">References</a></li>
-                        <li><a href="glossary.html">Glossary</a></li>
-                    </ul>
-                </li>
-
-                <!-- menu item API Usage -->
-
-                <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">API Usage<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="jdohelper.html">JDO Helper</a></li>
-                        <li><a href="pmf.html">PersistenceManagerFactory</a></li>
-                        <li><a href="pm.html">PersistenceManager</a></li>
-                        <li><a href="transactions.html">Transactions</a></li>
-                        <li><a href="attach_detach.html">Attach-Detach</a></li>
-                        <li><a href="fetchgroups.html">Fetch Groups</a></li>
-                        <li><a href="state_transition.html">Object States</a></li>
-                        <li><a href="object_retrieval.html">Object Retrieval</a></li>
-                        <li><a href="exceptions.html">Exceptions</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="guides-replication.html">Data Replication</a></li>
-                    </ul>
-                </li>
-
-                <!-- menu item Types & Metadata -->
-
-                <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="background-color:#2385c6">Types &amp; Metadata<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="class_types.html">Types of Classes</a></li>
-                        <li><a href="field_types.html">Types of Fields</a></li>
-                        <li role="separator" class="divider"></li>
-                        <!-- <li class="dropdown-header">Metadata</li> -->
-                        <li><a href="metadata.html">MetaData</a></li>
-                        <li><a href="annotations.html">Annotations</a></li>
-                        <li><a href="jdo_dtd.html">jdo DTD/XSD</a></li>
-                        <li><a href="orm_dtd.html">orm DTD/XSD</a></li>
-                        <li><a href="jdoquery_dtd.html">jdoquery DTD/XSD</a></li>
-                        <li><a href="jdoconfig_dtd.html">jdoconfig DTD/XSD</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="enhancement.html">Bytecode Enhancement</a></li>
-                    </ul>
-                </li>
-
-                <!-- menu item Query -->
-
-                <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Query<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="jdoql.html">JDOQL</a></li>
-                        <li><a href="jdoql_result.html">Result</a></li>
-                        <li><a href="jdoql_methods.html">Methods</a></li>
-                        <li><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="extents.html">Extents</a></li>
-                    </ul>
-               </li>
-
-                <!-- menu item Community -->
-
-               <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Community<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="get-involved.html">Get Involved</a></li>
-                        <li><a href="team-list.html">Project Team</a></li>
-                        <li><a href="mail-lists.html">Mailing Lists</a></li>
-                        <li><a href="faq.html">FAQ</a></li>
-                    </ul>
-               </li>
-
-                <!-- menu item Development -->
-
-               <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Development<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="roadmap.html">RoadMap / TODO</a></li>
-                        <li><a href="downloads.html">Downloads</a></li>
-                        <li><a href="source-code.html">Source Code</a></li>
-                        <li><a href="http://cwiki.apache.org/GMOxDEV/Coding+standards">Coding Standards</a></li>
-                        <li><a href="issuetracking.html">Issue Tracking</a></li>
-                    </ul>
-                </li>
-            </ul>
-           <!-- 'style' added to fix height of input box. FIX THIS -->
-            <form class="navbar-form navbar-left" role="search" id="search-form" action="https://www.google.com/search" method="get" style="padding: 1px 15px;">
-                <div class="form-group">
-                    <input name="sitesearch" value="db.apache.org/jdo" type="hidden">
-                    <input name="q" type="text" class="form-control" placeholder="Search" style="margin-top: 7px; padding: 1px; border-radius: 5px; height: 30px; vertical-align: middle;">
-                </div>
-            </form>
-        </div>
-    </div>
-</nav>
-<div class="container">
-    
-        <!-- No TOC -->
-        <div class="row-fluid">
-            <div class="col-sm-12">
-                
-                    <!-- no heading -->
-                
-                <div id="doc-content">
-                    <div class="sect1">
-<h2 id="index">JDO : Annotations<a id="JDO_:_Annotations"></a></h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>One of the things that JDK 1.5 provides that can be of some use is
-annotations, and JDO provides its own set. When selecting to use
-annotations please bear in mind the following :</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>You must have the <strong>jdo-api</strong> jar in your CLASSPATH since this provides
-the annotations</p>
-</li>
-<li>
-<p>Annotations should really only be used for attributes of persistence
-that you won&#8217;t be changing at deployment. Things such as table and
-column names shouldn&#8217;t really be specified using annotations although it
-is permitted. Instead it would be better to put such information in an
-ORM MetaData file.</p>
-</li>
-<li>
-<p>Annotations can be added in two places - for the class as a whole, or
-for a field in particular.</p>
-</li>
-<li>
-<p>You can annotate fields or getters with field-level information. If
-you annotate fields then the fields are processed for persistence. If
-you annotate the methods (getters) then the methods (properties) are
-processed for persistence.</p>
-</li>
-<li>
-<p>Annotations are prefixed by the @ symbol and can take properties (in
-brackets after the name, comma-separated)</p>
-</li>
-</ul>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 33.3333%;">
-<col style="width: 33.3334%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Annotation</th>
-<th class="tableblock halign-left valign-top">Class/Field/Method</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#PersistenceCapable">@PersistenceCapable</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies that
-the class/interface is persistent. In the case of an interface this
-would utilise JDO2&#8217;s "persistent-interface" capabilities</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#PersistenceAware">@PersistenceAware</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies that the
-class is not persistent but needs to be able to access fields of
-persistent classes</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Cacheable_Class">@Cacheable</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether this class
-can be cached in a Level 2 cache or not.</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#EmbeddedOnly">@EmbeddedOnly</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies that the class is
-persistent and can only be persisted embedded in another persistent
-class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#DatastoreIdentity">@DatastoreIdentity</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the
-details for generating datastore-identity for this class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Version">@Version</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies any versioning process for
-objects of this class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchPlans">@FetchPlans</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a series of fetch plans</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchPlan">@FetchPlan</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a fetch plan</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchGroups">@FetchGroups</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a series of fetch
-groups for this class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchGroup">@FetchGroup</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a fetch group for this
-class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Sequence">@Sequence</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a sequence for use by this
-class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Queries">@Queries</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a series of named queries for
-this class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Query">@Query</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a named query for this class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Inheritance">@Inheritance</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the inheritance model
-for persisting this class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Discriminator">@Discriminator</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies any discriminator
-for this class to be used for determining object types</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#PrimaryKey_Class">@PrimaryKey</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines the primary
-key constraint for this class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Indices">@Indices</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of indices for
-this class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Index_Class">@Index</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines an index for the class
-as a whole (typically a composite index)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Uniques">@Uniques</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of unique
-constraints for this class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Unique_Class">@Unique</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a unique constraint
-for the class as a whole (typically a composite)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#ForeignKeys">@ForeignKeys</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of
-foreign-keys (typically for non-mapped columns/tables)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#ForeignKey_Class">@ForeignKey</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a foreign-key
-for the class as a whole (typically for non-mapped columns/tables)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Joins">@Joins</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of joins to
-secondary tables from this table</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Join_Class">@Join</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a join to a secondary
-table from this table</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Columns">@Columns</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of columns that
-dont have associated fields ("unmapped columns")</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Persistent">@Persistent</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines the persistence
-for a field/property of the class</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Serialized">@Serialized</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines this field as
-being stored serialised</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#NotPersistent">@NotPersistent</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines this field
-as being not persisted</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Transactional">@Transactional</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines this field
-as being transactional (not persisted, but managed)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Cacheable">@Cacheable</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether this
-field/property can be cached in a Level 2 cache or not.</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#PrimaryKey">@PrimaryKey</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines this field as
-being (part of) the primary key</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Element">@Element</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines the details of elements
-of an array/collection stored in this field</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Key">@Key</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines the details of keys of a map
-stored in this field</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Value">@Value</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines the details of values of a
-map stored in this field</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Order">@Order</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines the details of
-ordering of an array/collection stored in this field</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Join">@Join</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines the join to a join table
-for a collection/array/map</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Embedded">@Embedded</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines that this field
-is embedded and how it is embedded</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Columns">@Columns</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of
-columns where a field is persisted</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">@Column</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a column where a
-field is persisted</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Index">@Index</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines an index for the field</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Unique">@Unique</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a unique constraint
-for the field</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#ForeignKey">@ForeignKey</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a foreign
-key for the field</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extensions">@Extensions</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class/Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a series of
-JDO extensions</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">@Extension</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class/Field/Method</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a JDO
-extension</p></td>
-</tr>
-</tbody>
-</table>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="PersistenceCapable"></a></p>
-</div>
-<div class="sect2">
-<h3 id="__persistencecapable_a_id_apersistencecapable_a">@PersistenceCapable<a id="aPersistenceCapable"></a></h3>
-<div class="paragraph">
-<p>This annotation is used when you want to mark a class as persistent. It
-equates to the &lt;class&gt; MetaData element (though with only some of its
-attributes). Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">requiresExtent</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether an extent is required for this class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedOnly</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether objects of this class can only be stored
-embedded in other objects</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">detachable</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether objects of this class can be detached</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">identityType</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">IdentityType</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Type of identity (APPLICATION, DATASTORE,
-NONDURABLE)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">DATASTORE</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">objectIdClass</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Object-id class</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table where this class is persisted</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">catalog</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the catalog where this table is
-persisted</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">schema</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the schema where this table is persisted</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">cacheable</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the class can be L2 cached. <strong>From JDO2.2</strong></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>true</strong></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">serializeRead</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to default reads of this object type to
-lock the object</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable(identityType=IdentityType.APPLICATION)
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="PersistenceAware"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__persistenceaware_a_id_apersistenceaware_a">@PersistenceAware<a id="aPersistenceAware"></a></h3>
-<div class="paragraph">
-<p>This annotation is used when you want to mark a class as being used in
-persistence but not being persistable. That is "persistence-aware" in
-JDO terminology. It has no attributes. Specified on the <strong>class</strong>.</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceAware
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>See the documentation for <a href="class_types.html">Class Types</a></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Cacheable_Class"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__cacheable_a_id_acacheable_a">@Cacheable<a id="aCacheable"></a></h3>
-<div class="paragraph">
-<p>This annotation is a shortcut for
-@PersistenceCapable(cacheable={value}) specifying whether the class can
-be cached in a Level 2 cache. Specified on the <strong>class</strong>. The default</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the class is cacheable</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>true</strong></p></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@Cacheable("false")
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="EmbeddedOnly"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__embeddedonly_a_id_aembeddedonly_a">@EmbeddedOnly<a id="aEmbeddedOnly"></a></h3>
-<div class="paragraph">
-<p>This annotation is a shortcut for
-@PersistenceCapable(embeddedOnly="true") meaning that the class can only
-be persisted embedded into another class. It has no attributes.
-Specified on the <strong>class</strong>.</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>@EmbeddedOnly
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Inheritance"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__inheritance_a_id_ainheritance_a">@Inheritance<a id="aInheritance"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the inheritance for a class. Specified on the
-<strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">InheritanceStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The inheritance strategy (NEW_TABLE,
-SUBCLASS_TABLE, SUPERCLASS_TABLE)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">customStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a custom inheritance strategy
-(depending on what your JDO implementation supports</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Inheritance(strategy=InheritanceStrategy.NEW_TABLE)
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Discriminator"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__discriminator_a_id_adiscriminator_a">@Discriminator<a id="aDiscriminator"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a discriminator to be stored with instances of
-this class and is used to determine the types of the objects being
-stored. Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">DiscriminatorStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The discriminator strategy (VALUE_MAP,
-CLASS_NAME, NONE)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Value to use for instances of this type when using
-strategy of VALUE_MAP</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column to use to store the
-discriminator</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the discriminator column is to be
-indexed</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definitions used for
-storing the discriminator</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Inheritance(strategy=InheritanceStrategy.NEW_TABLE)
-@Discriminator(strategy=DiscriminatorStrategy.CLASS_NAME)
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="DatastoreIdentity"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__datastoreidentity_a_id_adatastoreidentity_a">@DatastoreIdentity<a id="aDatastoreIdentity"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the identity when using datastore-identity for
-the class. Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">IdGeneratorStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The inheritance strategy (NATIVE,
-SEQUENCE, IDENTITY, INCREMENT, UUIDSTRING, UUIDHEX)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">customStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a custom id generation strategy (e.g
-"max", "auid"). This overrides the value of "strategy"</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">sequence</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the sequence to use (when using SEQUENCE
-strategy) - refer to @Sequence</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for the datastore identity</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
-column(s) for the datastore identity</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@DatastoreIdentity(strategy=IdGeneratorStrategy.INCREMENT)
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Version"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__version_a_id_aversion_a">@Version<a id="aVersion"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the versioning details for use with optimistic
-transactions. Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">VersionStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The version strategy (NONE, STATE_IMAGE,
-DATE_TIME, VERSION_NUMBER)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the version column(s) is indexed</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for the version</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
-column(s) for the version</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Version(strategy=VersionStrategy.VERSION_NUMBER)
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>See the documentation for <a href="transactions.html">transactions</a></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="PrimaryKey_Class"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__primarykey_a_id_aprimarykey_a">@PrimaryKey<a id="aPrimaryKey"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the primary key constraint for a class. Maps
-across to the &lt;primary-key&gt; MetaData element. Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the primary key constraint</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this key</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
-column(s) of this key</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@PrimaryKey(name="MYCLASS_PK")
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="FetchPlans"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__fetchplans_a_id_afetchplans_a">@FetchPlans<a id="aFetchPlans"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a set of fetch plans. Specified on the
-<strong>class</strong>. Used by named queries</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchPlan">FetchPlan</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of fetch plans - see
-@FetchPlan annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@FetchPlans({@FetchPlan(name="plan_3", maxFetchDepth=3, fetchGroups={"group1", "group4"}),
-             @FetchPlan(name="plan_4", maxFetchDepth=2, fetchGroups={"group1", "group2"})})
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>See the documentation for <a href="fetchgroups.html">FetchGroups</a></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="FetchPlan"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__fetchplan_a_id_afetchplan_a">@FetchPlan<a id="aFetchPlan"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a fetch plan Is equivalent to the &lt;fetch-plan&gt;
-metadata element. Specified on the <strong>class</strong>. Used by named queries</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the FetchPlan</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">maxFetchDepth</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum fetch depth</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fetchSize</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Size hint for fetching query result sets</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">0</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fetchGroups</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Names of the fetch groups included in this
-FetchPlan.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@FetchPlan(name="plan_3", maxFetchDepth=3, fetchGroups={"group1", "group4"})
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>See the documentation for <a href="fetchgroups.html">FetchGroups</a></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="FetchGroups"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__fetchgroups_a_id_afetchgroups_a">@FetchGroups<a id="aFetchGroups"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a set of fetch groups for a class. Specified
-on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchGroup">FetchGroup</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of fetch groups - see
-@FetchGroup annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@FetchGroups({@FetchGroup(name="one_two", members={@Persistent(name="field1"), @Persistent(name="field2")}),
-              @FetchGroup(name="three", members={@Persistent(name="field3")})})
-public class MyClass
-{
-    @Persistent
-    String field1;
-
-    @Persistent
-    String field2;
-
-    @Persistent
-    String field3;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>See the documentation for <a href="fetchgroups.html">FetchGroups</a></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="FetchGroup"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__fetchgroup_a_id_afetchgroup_a">@FetchGroup<a id="aFetchGroup"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a fetch group. Is equivalent to the
-&lt;fetch-group&gt; metadata element. Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the fetch group</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">postLoad</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to call jdoPostLoad after loading this fetch
-group</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Persistent">Persistent</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Definitions of the
-fields/properties to include in this fetch group</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@FetchGroup(name="one_two", members={@Persistent(name="field1"), @Persistent(name="field2")})
-public class MyClass
-{
-    @Persistent
-    String field1;
-
-    @Persistent
-    String field2;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>See the documentation for <a href="fetchgroups.html">FetchGroups</a></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Sequence"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__sequence_a_id_asequence_a">@Sequence<a id="aSequence"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a sequence generator. Is equivalent to the
-&lt;sequence&gt; metadata element. Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the sequence</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">SequenceStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Strategy for the sequence
-(NONTRANSACTIONAL, CONTIGUOUS, NONCONTIGUOUS)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">datastoreSequence</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a datastore sequence that this maps
-to</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">factoryClass</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Factory class to use to generate the sequence</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">initialValue</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Initial value of the sequence</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">allocationSize</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Allocation size of the sequence</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">50</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Queries"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__queries_a_id_aqueries_a">@Queries<a id="aQueries"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a set of named queries for a class. Specified
-on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Query">Query</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of queries - see @Query annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Queries({@Query(name="PeopleCalledSmith", language="JDOQL",
-                 value="SELECT FROM mydomain.Person WHERE surname == \"Smith\""),
-          @Query(name="PeopleCalledJones", language="JDOQL",
-                 value="SELECT FROM mydomain.Person WHERE surname == \"Jones\"")})
-public class Person
-{
-    @Persistent
-    String surname;
-
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Query"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__query_a_id_aquery_a">@Query<a id="aQuery"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a named query. Is equivalent to the &lt;query&gt;
-metadata element. Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the query</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The query string itself</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">language</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Language of the query (JDOQL, SQL, &#8230;&#8203;)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">JDOQL</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unmodifiable</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the query is not modifiable at runtime</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the query returns unique results (for SQL
-queries only)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">resultClass</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Result class to use (for SQL queries only)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">fetchPlan</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a named FetchPlan to use with this query</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Query(name="PeopleCalledSmith", language="JDOQL",
-       value="SELECT FROM mydomain.Person WHERE surname == \"Smith\"")
-public class Person
-{
-    @Persistent
-    String surname;
-
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Indices"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__indices_a_id_aindices_a">@Indices<a id="aIndices"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a set of indices for a class. Specified on the
-<strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Index_Class">Index</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of indices - see @Index
-annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Indices({@Index(name="MYINDEX_1", members={"field1","field2"}), @Index(name="MYINDEX_2", members={"field3"})})
-public class Person
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Index_Class"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__index_a_id_aindex_a">@Index<a id="aIndex"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define an index for the class as a whole typically
-being a composite index across multiple columns or fields/properties. Is
-equivalent to the &lt;index&gt; metadata element when specified under class.
-Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the index</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for the index</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the index is unique</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Names of the fields/properties that make up
-this index</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Columns that make up this index</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Index(name="MY_COMPOSITE_IDX", members={"field1", "field2"})
-public class MyClass
-{
-    @Persistent
-    String field1;
-
-    @Persistent
-    String field2;
-
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Uniques"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__uniques_a_id_auniques_a">@Uniques<a id="aUniques"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a set of unique constraints for a class.
-Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Unique_Class">Unique</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of constraints - see @Unique
-annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Uniques({@Unique(name="MYCONST_1", members={"field1","field2"}), @Unique(name="MYCONST_2", members={"field3"})})
-public class Person
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Unique_Class"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__unique_a_id_aunique_a">@Unique<a id="aUnique"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a unique constraints for the class as a whole
-typically being a composite constraint across multiple columns or
-fields/properties. Is equivalent to the &lt;unique&gt; metadata element when
-specified under class. Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the constraint</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for the constraint</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">deferred</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is deferred</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Names of the fields/properties that make up
-this constraint</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Columns that make up this
-constraint</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Unique(name="MY_COMPOSITE_IDX", members={"field1", "field2"})
-public class MyClass
-{
-    @Persistent
-    String field1;
-
-    @Persistent
-    String field2;
-
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="ForeignKeys"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__foreignkeys_a_id_aforeignkeys_a">@ForeignKeys<a id="aForeignKeys"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a set of foreign-key constraints for a class.
-Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#ForeignKey_Class">ForeignKey</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of FK constraints -
-see @ForeignKey annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="ForeignKey_Class"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__foreignkey_a_id_aforeignkey_a">@ForeignKey<a id="aForeignKey"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a foreign-key constraint for the class.
-Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the constraint</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table that the FK is to</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">deferred</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is deferred</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is unique</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to apply to the FK to be
-used on deleting</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction.RESTRICT</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to apply to the FK to be
-used on updating</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction.RESTRICT</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Names of the fields/properties that compose
-this FK.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Columns that compose this FK.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Joins"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__joins_a_id_ajoins_a">@Joins<a id="aJoins"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a set of joins (to secondary tables) for a
-class. Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Join_Class">Join</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of joins - see @Join annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Joins({@Join(table="MY_OTHER_TABLE", column="MY_PK_COL"),
-        @Join(table="MY_SECOND_TABLE", column="MY_PK_COL")})
-public class MyClass
-{
-    @Persistent(table="MY_OTHER_TABLE")
-    String myField;
-
-    @Persistent(table="MY_SECOND_TABLE")
-    String myField2;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Join_Class"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__join_a_id_ajoin_a">@Join<a id="aJoin"></a></h3>
-<div class="paragraph">
-<p>Annotation used to specify a join for a secondary table. Specified on
-the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Table name used when joining the PK of a FCO class
-table to a secondary table.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column used to join to the PK of the
-primary table (when only one column used)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">outer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to use an outer join when retrieving
-fields/properties stored in the secondary table</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the colums used to join
-to the PK of the primary table (when multiple columns used)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable(name="MYTABLE")
-@Join(table="MY_OTHER_TABLE", column="MY_PK_COL")
-public class MyClass
-{
-    @Persistent(name="MY_OTHER_TABLE")
-    String myField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Columns_Class"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__columns_a_id_acolumns_a">@Columns<a id="aColumns"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the columns which have no associated field in
-the class. User should specify a minimum of @Column "name", "jdbcType",
-and "insertValue". Specified on the <strong>class</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of columns - see @Column
-annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Columns(@Column(name="MY_OTHER_COL", jdbcType="VARCHAR", insertValue="N/A")
-public class MyClass
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Persistent"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__persistent_a_id_apersistent_a">@Persistent<a id="aPersistent"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the fields/properties to be persisted. Is
-equivalent to the &lt;field&gt; and &lt;property&gt; metadata elements. Specified on
-the <strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">persistenceModifier</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PersistenceModifier</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the field is
-persistent (PERSISTENT, TRANSACTIONAL, NONE)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">[depends on field type]</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">defaultFetchGroup</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the field is part of the DFG</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">nullValue</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">NullValue</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Required behaviour when inserting a null value
-for this field (NONE, EXCEPTION, DEFAULT).</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">NONE</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embedded</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether this field as a whole is embedded. Use
-@Embedded to specify details.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedElement</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element stored in this
-collection/array field/property is embedded</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key stored in this map field/property
-is embedded</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedValue</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value stored in this map
-field/property is embedded</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">serialized</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether this field/property as a whole is
-serialised</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">serializedElement</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element stored in this
-collection/array field/property is serialised</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">serializedKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key stored in this map
-field/property is serialised</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">serializedValue</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value stored in this map
-field/property is serialised</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">dependent</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether this field is dependent, deleting the
-related object when deleting this object</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">dependentElement</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element stored in this
-field/property is dependent</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">dependentKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key stored in this field/property is
-dependent</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">dependentValue</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value stored in this field/property
-is dependent</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">primaryKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether this field is (part of) the primary key</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">valueStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">IdGeneratorStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Strategy to use when generating
-values for the field (NATIVE, SEQUENCE, IDENTITY, INCREMENT, UUIDSTRING,
-UUIDHEX)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">customValueStrategy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a custom id generation strategy
-(e.g "max", "auid"). This overrides the value of "valueStrategy"</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">sequence</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the sequence when using valueStrategy of
-SEQUENCE - refer to @Sequence</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">types</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Type(s) of field (when using interfaces/reference
-types).</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field in other class when the relation is
-bidirectional to signify the owner of the relation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table where this field is persisted.
-If this field is a collection/map/array then the table refers to a join
-table, otherwise this refers to a secondary table.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the field when defining an embedded field.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition(s) for the
-columns into which this field is persisted. This is only typically used
-when specifying columns of a field of an embedded class.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">cacheable</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the field/property can be L2 cached. <strong>From
-JDO2.2</strong></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>true</strong></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">recursionDepth</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Recursion depth for this field when fetching.
-<strong>Only applicable when specified within @FetchGroup</strong></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">loadFetchGroup</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a fetch group to activate when a load
-of this field is initiated (due to it being currently unloaded). Not
-used for getObjectById, queries, extents etc. Better to use @FetchGroup
-and define your groups</p></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Persistent(primaryKey="true")
-    String myField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>See the documentation for <a href="field_types.html">Field Types</a></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Serialized"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__serialized_a_id_aserialized_a">@Serialized<a id="aSerialized"></a></h3>
-<div class="paragraph">
-<p>This annotation is a shortcut for @Persistent(serialized="true") meaning
-that the field is stored serialized. It has no attributes. Specified on
-the <strong>field/method</strong>.</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Serialized
-    Object myField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="NotPersistent"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__notpersistent_a_id_anotpersistent_a">@NotPersistent<a id="aNotPersistent"></a></h3>
-<div class="paragraph">
-<p>This annotation is a shortcut for
-@Persistent(persistenceModifier=PersistenceModifier.NONE) meaning that
-the field/property is not persisted. It has no attributes. Specified on
-the <strong>field/method</strong>.</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @NotPersistent
-    String myOtherField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>See the documentation for <a href="field_types.html">Field Types</a></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Transactional"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__transactional_a_id_atransactional_a">@Transactional<a id="aTransactional"></a></h3>
-<div class="paragraph">
-<p>This annotation is a shortcut for
-@Persistent(persistenceModifier=PersistenceModifier.TRANSACTIONAL)
-meaning that the field/property is not persisted yet managed. It has no
-attributes. Specified on the <strong>field/method</strong>.</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Transactional
-    String myOtherField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>See the documentation for <a href="field_types.html">Field Types</a></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Cacheable"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__cacheable_a_id_acacheable_a_2">@Cacheable<a id="aCacheable"></a></h3>
-<div class="paragraph">
-<p>This annotation is a shortcut for @Persistent(cacheable={value})
-specifying whether the field/property can be cached in a Level 2 cache.
-Specified on the <strong>field/property</strong>. The default</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the field/property is cacheable</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>true</strong></p></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>public class MyClass
-{
-    @Cacheable("false")
-    Collection elements;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="PrimaryKey"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__primarykey_a_id_aprimarykey_a_2">@PrimaryKey<a id="aPrimaryKey"></a></h3>
-<div class="paragraph">
-<p>This annotation is a shortcut for @Persistent(primaryKey="true") meaning
-that the field/property is part of the primary key for the class. No
-attributes are needed when specified like this. Specified on the
-<strong>field/method</strong>.</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @PrimaryKey
-    String myOtherField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Element"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__element_a_id_aelement_a">@Element<a id="aElement"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the element for any collection/array to be
-persisted. Maps across to the &lt;collection&gt;, &lt;array&gt; and &lt;element&gt;
-MetaData elements. Specified on the <strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">types</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Type(s) of element</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">When using an array is not needed.
-When using a collection will be taken from the collection definition if
-using generics, otherwise must be specified.</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embedded</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element is embedded into a join table</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">serialized</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element is serialised into the join
-table</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">dependent</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element objects are dependent when
-deleting the owner collection/array</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Field in the element class that represents this
-object (when the relation is bidirectional)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedMapping</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Embedded">Embedded</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Definition of any
-embedding of the (persistable) element. Only 1 "Embedded" should be
-provided</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for this element</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this element</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">foreignKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any foreign-key constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">generateForeignKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a FK constraint
-for the element (when not specifying the name)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
-foreign key for this element for action upon deletion</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
-foreign key for this element for action upon update</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">index</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any index constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this element column is indexed</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this element column is unique</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">uniqueKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any unique key constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
-column(s) of this element</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Element(types=mydomain.MyElementClass.class, dependent="true")
-    Collection myField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Order"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__order_a_id_aorder_a">@Order<a id="aOrder"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the ordering of an order-based
-Collection/array to be persisted. Maps across to the &lt;order&gt; MetaData
-element. Specified on the <strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Field in the element class that represents the
-ordering of the collection/array</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this order</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
-column(s) of this order</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Element(types=mydomain.MyElementClass.class, dependent="true")
-    @Order(column="ORDER_IDX")
-    Collection myField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Key"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__key_a_id_akey_a">@Key<a id="aKey"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the key for any map to be persisted. Maps
-across to the &lt;map&gt; and &lt;key&gt; MetaData elements. Specified on the
-<strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">types</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Type(s) of key.</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">When using generics will be taken from
-the Map definition, otherwise must be specified</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embedded</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key is embedded into a join table</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">serialized</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key is serialised into the join table</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">dependent</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key objects are dependent when deleting
-the owner map</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Used to specify the field in the value class where
-the key is stored (optional).</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedMapping</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Embedded">Embedded</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Definition of any
-embedding of the (persistable) key. Only 1 "Embedded" should be provided</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for this key</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this key</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">foreignKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any foreign-key constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">generateForeignKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a FK constraint
-for the key (when not specifying the name)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
-foreign key for this key for action upon deletion</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
-foreign key for this key for action upon update</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">index</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any index constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this key column is indexed</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">uniqueKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any unique key constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this key column is unique</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
-column(s) of this key</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Key(types=java.lang.String.class)
-    Map myField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Value"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__value_a_id_avalue_a">@Value<a id="aValue"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the value for any map to be persisted. Maps
-across to the &lt;map&gt; and &lt;value&gt; MetaData elements. Specified on the
-<strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">types</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Class[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Type(s) of value.</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">When using generics will be taken
-from the Map definition, otherwise must be specified</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embedded</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value is embedded into a join table</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">serialized</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value is serialised into the join table</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">dependent</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value objects are dependent when
-deleting the owner map</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Used to specify the field in the key class where the
-value is stored (optional).</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedMapping</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Embedded">Embedded</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Definition of any
-embedding of the (persistable) value. Only 1 "Embedded" should be
-provided</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for this value</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this value</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">foreignKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any foreign-key constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
-foreign key for this value for action upon deletion</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">generateForeignKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a FK constraint
-for the value (when not specifying the name)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
-foreign key for this value for action upon update</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">index</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any index constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this value column is indexed</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">uniqueKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any unique key constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this value column is unique</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
-column(s) of this value</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Key(types=java.lang.String.class)
-    @Value(types=mydomain.MyValueClass.class, dependent="true")
-    Map myField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Join"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__join_a_id_ajoin_a_2">@Join<a id="aJoin"></a></h3>
-<div class="paragraph">
-<p>Annotation used to specify a join to a join table for a
-collection/array/map. Specified on the <strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column to join our PK to in the join
-table (when only one column used)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">primaryKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any primary key constraint to add for
-the join table</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">generatePrimaryKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a PK constraint
-on the join table (when not specifying the name)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">foreignKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any foreign-key constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">generateForeignKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a FK constraint
-on the join table (when not specifying the name)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">index</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any index constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the join column(s) is indexed</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">uniqueKey</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any unique constraint to add</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the join column(s) has a unique
-constraint</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the columns to join our
-PK to in the join table (when multiple columns used)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Persistent
-    @Element(types=mydomain.MyElement.class)
-    @Join(table="MYCLASS_ELEMENTS", column="MYCLASS_ELEMENTS_PK")
-    Collection myField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Embedded"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__embedded_a_id_aembedded_a">@Embedded<a id="aEmbedded"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define that the field contents is embedded into the
-same table as this field Maps across to the &lt;embedded&gt; MetaData element.
-Specified on the <strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ownerMember</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : The field/property in the embedded object
-that links back to the owning object (where it has a bidirectional
-relation)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">nullIndicatorColumn</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : The column in the embedded object
-used to judge if the embedded object is null.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">nullIndicatorValue</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : The value in the null column to
-interpret the object as being null.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Persistent">Persistent</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Field/property
-definitions for this embedding.</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Embedded(members={
-            @Persistent(name="field1", columns=@Column(name="OTHER_FLD_1")),
-            @Persistent(name="field2", columns=@Column(name="OTHER_FLD_2"))
-        }
-    MyOtherClass myField;
-    ...
-}
-
-@PersistenceCapable
-@EmbeddedOnly
-public class MyOtherClass
-{
-    @Persistent
-    String field1;
-
-    @Persistent
-    String field2;
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Columns"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__columns_a_id_acolumns_a_2">@Columns<a id="aColumns"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the columns into which a field is persisted.
-If the field is persisted into a single column then @Column should be
-used. Specified on the <strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of columns - see @Columns
-annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Persistent
-    @Columns({@Column(name="RED"), @Column(name="GREEN"), @Column(name="BLUE"), @Column(name="ALPHA")})
-    Color myField;
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Column"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__column_a_id_acolumn_a">@Column<a id="aColumn"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define that the colum where a field is persisted. Is
-equivalent to the &lt;column&gt; metadata element when specified under field.
-Specified on the <strong>field/method</strong> (and within other annotations).</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">target</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column in the other class that this maps to</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">targetMember</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Field/Property in the other class that this
-maps to</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">jdbcType</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : JDBC Type to use for persisting into this
-column</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">sqlType</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : SQL Type to use for persisting into this column</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">length</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Max length of data to store in this column</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">scale</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Max number of floating points of data to store in
-this column</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">allowsNull</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether null is allowed to be persisted into
-this column</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">defaultValue</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Default value to persist into this column.
-If you want the default to be NULL, then put this as "#NULL"</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">insertValue</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Value to insert into this column when it is
-an "unmapped" column. If you want the inserted value to be NULL, then
-put this as "#NULL"</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">position</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Position of this column in the owning table (0 = first)</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Persistent
-    @Column(name="MYCOL", jdbcType="VARCHAR", length=40)
-    String field1;
-
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Index"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__index_a_id_aindex_a_2">@Index<a id="aIndex"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define that this field is indexed. Is equivalent to
-the &lt;index&gt; metadata element when specified under field. Specified on
-the <strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the index</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the index is unique</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Persistent
-    @Index(name="MYFIELD1_IDX")
-    String field1;
-
-    @Persistent
-    @Index(name="MYFIELD2_IDX", unique="true")
-    String field2;
-
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Unique"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__unique_a_id_aunique_a_2">@Unique<a id="aUnique"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define that this field has a unique constraint. Is
-equivalent to the &lt;unique&gt; metadata element when specified under field.
-Specified on the <strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the constraint</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">deferred</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is deferred</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Persistent
-    @Unique(name="MYFIELD1_IDX")
-    String field1;
-
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="ForeignKey"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__foreignkey_a_id_aforeignkey_a_2">@ForeignKey<a id="aForeignKey"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define the foreign key for a relationship field. Is
-equivalent to the &lt;foreign-key&gt; metadata element when specified under
-field. Specified on the <strong>field/method</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the constraint</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">deferred</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is deferred</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is unique</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to apply to the FK to be
-used on deleting</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction.RESTRICT</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to apply to the FK to be
-used on updating</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction.RESTRICT</p></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-public class MyClass
-{
-    @Persistent
-    @ForeignKey(name="MYFIELD1_FK", deleteAction=ForeignKeyAction.RESTRICT)
-    String field1;
-
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Extensions"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__extensions_a_id_aextensions_a">@Extensions<a id="aExtensions"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define a set of extensions specific to the JDO2
-implementation being used. Specified on the <strong>class</strong> or <strong>field</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Array of extensions - see
-@Extension annotation</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Extensions({@Extension(vendorName="MyJDOImpl", key="firstExtension", value="myValue"),
-             @Extension(vendorName="MyJDOImpl", key="secondExtension", value="myValue")})
-public class Person
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="Extension"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="__extension_a_id_aextension_a">@Extension<a id="aExtension"></a></h3>
-<div class="paragraph">
-<p>Annotation used to define an extension specific to a particular JDO
-implementation. Is equivalent to the &lt;extension&gt; metadata element.
-Specified on the <strong>class</strong> or <strong>field</strong>.</p>
-</div>
-<table class="tableblock frame-all grid-cols spread">
-<colgroup>
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-<col style="width: 25%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Attribute</th>
-<th class="tableblock halign-left valign-top">Type</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">vendorName</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the JDO vendor</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">key</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Key for the extension</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Value of the extension</p></td>
-<td class="tableblock halign-left valign-top"></td>
-</tr>
-</tbody>
-</table>
-<div class="literalblock">
-<div class="content">
-<pre>@PersistenceCapable
-@Extension(vendorName="MyJDOImpl", key="RunFast", value="true")
-public class Person
-{
-    ...
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-</div>
-</div>
-</div>
-                </div>
-            </div>
-        </div>
-    
-</div>
-
-  <footer style="color:#fff; background-color:#222222; padding: 5px;">
-  <div class="container">
-      <div class="row" style="margin-top:25px">
-          <div class="col-sm" align="center">
-      <a href="https://www.facebook.com/JavaDataObjects" class="externalLink" title="Facebook">Facebook</a>
-              |
-                          <a href="https://twitter.com/JavaDataObjects" class="externalLink" title="Twitter">Twitter</a>
-              |
-                          <a href="http://wiki.apache.org/jdo" class="externalLink" title="Wiki">Wiki</a>
-              |
-                          <a href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10630" class="externalLink" title="Issue Tracker">Issue Tracker</a>
-              |
-                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-              |
-                          <a href="api31/apidocs/index.html" title="Latest Javadocs">Latest Javadocs</a>
-          </div>
-      </div>
-      <p class="text-center" style="margin-top:16px">&copy; 2005-2020 Apache Software Foundation. All Rights Reserved.</p>
-  </div>
-  </footer>
-
-</body>
+<!DOCTYPE html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- No caching headers -->
+    <meta http-equiv="cache-control" content="no-cache"/>
+    <meta http-equiv="pragma" content="no-cache"/>
+    <meta http-equiv="expires" content="-1"/>
+    <meta name="keywords" content="JDO, Apache, Java, Data, Objects"/>
+    <meta name="description" content="Apache JDO - Java Data Objects"/>
+
+    <title>JDO : Annotations</title>
+
+    <link rel="icon" type="image/png" href="https://apache.github.io/db-jdo-site/images/JDO_32x32.png"/>
+
+    <!--
+        Apache JDO Documentation Template
+        ==================================
+        This template derived various aspects from Apache Deltaspike template, the Apache ISIS template and the Datanucleus template.
+        This template uses 
+        * Bootstrap v3.3.7 (https://getbootstrap.com/) for navbar.
+        * Asciidoctor "foundation" CSS
+        * Bootswatch "cosmo" theme for Bootstrap (https://bootswatch.com/cosmo).
+        * Bootstrap TOC plugin v0.4.1 (https://afeld.github.io/bootstrap-toc/) for the table of contents.
+        * jQuery (necessary for Bootstrap's JavaScript plugins)
+        * Font-Awesome for some icons used by Asciidoctor
+        NOTE: tried using Font-Awesome CSS hosted locally but then fails to work!
+    -->
+    <link href="css/bootswatch/3.3.7/bootstrap-cosmo.css" rel="stylesheet"/>
+    <link href="css/bootstrap-toc/0.4.1/bootstrap-toc.min.css" rel="stylesheet"/>
+
+    <link href="css/asciidoctor/foundation.css" rel="stylesheet"/>
+    <link href="css/datanucleus_theme.css" rel="stylesheet"/>
+    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
+
+    
+    
+     
+
+    
+
+    
+    
+    
+
+    
+    
+    
+
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
+    <script src="js/bootstrap/3.3.7/bootstrap.min.js"></script>
+    <script src="js/bootstrap-toc/0.4.1/bootstrap-toc.min.js"></script>
+
+    <!-- Coderay syntax formatter -->
+    <style type="text/css">
+        /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
+/*pre.CodeRay {background-color:#f7f7f8;}*/
+.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
+.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
+.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)}
+table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
+table.CodeRay td{vertical-align: top;line-height:1.45}
+table.CodeRay td.line-numbers{text-align:right}
+table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
+table.CodeRay td.code{padding:0 0 0 .5em}
+table.CodeRay td.code>pre{padding:0}
+.CodeRay .debug{color:#fff !important;background:#000080 !important}
+.CodeRay .annotation{color:#007}
+.CodeRay .attribute-name{color:#000080}
+.CodeRay .attribute-value{color:#700}
+.CodeRay .binary{color:#509}
+.CodeRay .comment{color:#998;font-style:italic}
+.CodeRay .char{color:#04d}
+.CodeRay .char .content{color:#04d}
+.CodeRay .char .delimiter{color:#039}
+.CodeRay .class{color:#458;font-weight:bold}
+.CodeRay .complex{color:#a08}
+.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
+.CodeRay .color{color:#099}
+.CodeRay .class-variable{color:#369}
+.CodeRay .decorator{color:#b0b}
+.CodeRay .definition{color:#099}
+.CodeRay .delimiter{color:#000}
+.CodeRay .doc{color:#970}
+.CodeRay .doctype{color:#34b}
+.CodeRay .doc-string{color:#d42}
+.CodeRay .escape{color:#666}
+.CodeRay .entity{color:#800}
+.CodeRay .error{color:#808}
+.CodeRay .exception{color:inherit}
+.CodeRay .filename{color:#099}
+.CodeRay .function{color:#900;font-weight:bold}
+.CodeRay .global-variable{color:#008080}
+.CodeRay .hex{color:#058}
+.CodeRay .integer,.CodeRay .float{color:#099}
+.CodeRay .include{color:#555}
+.CodeRay .inline{color:#000}
+.CodeRay .inline .inline{background:#ccc}
+.CodeRay .inline .inline .inline{background:#bbb}
+.CodeRay .inline .inline-delimiter{color:#d14}
+.CodeRay .inline-delimiter{color:#d14}
+.CodeRay .important{color:#555;font-weight:bold}
+.CodeRay .interpreted{color:#b2b}
+.CodeRay .instance-variable{color:#008080}
+.CodeRay .label{color:#970}
+.CodeRay .local-variable{color:#963}
+.CodeRay .octal{color:#40e}
+.CodeRay .predefined{color:#369}
+.CodeRay .preprocessor{color:#579}
+.CodeRay .pseudo-class{color:#555}
+.CodeRay .directive{font-weight:bold}
+.CodeRay .type{font-weight:bold}
+.CodeRay .predefined-type{color:inherit}
+.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
+.CodeRay .key{color:#808}
+.CodeRay .key .delimiter{color:#606}
+.CodeRay .key .char{color:#80f}
+.CodeRay .value{color:#088}
+.CodeRay .regexp .delimiter{color:#808}
+.CodeRay .regexp .content{color:#808}
+.CodeRay .regexp .modifier{color:#808}
+.CodeRay .regexp .char{color:#d14}
+.CodeRay .regexp .function{color:#404;font-weight:bold}
+.CodeRay .string{color:#d20}
+.CodeRay .string .string .string{background:#ffd0d0}
+.CodeRay .string .content{color:#d14}
+.CodeRay .string .char{color:#d14}
+.CodeRay .string .delimiter{color:#d14}
+.CodeRay .shell{color:#d14}
+.CodeRay .shell .delimiter{color:#d14}
+.CodeRay .symbol{color:#990073}
+.CodeRay .symbol .content{color:#a60}
+.CodeRay .symbol .delimiter{color:#630}
+.CodeRay .tag{color:#008080}
+.CodeRay .tag-special{color:#d70}
+.CodeRay .variable{color:#036}
+.CodeRay .insert{background:#afa}
+.CodeRay .delete{background:#faa}
+.CodeRay .change{color:#aaf;background:#007}
+.CodeRay .head{color:#f8f;background:#505}
+.CodeRay .insert .insert{color:#080}
+.CodeRay .delete .delete{color:#800}
+.CodeRay .change .change{color:#66f}
+.CodeRay .head .head{color:#f4f}
+    </style>
+</head>
+<body data-spy="scroll" data-target="#toc">
+<!-- Navbar -->
+<nav class="navbar navbar-default navbar-static-top">
+    <div class="container">
+        <div class="navbar-header">
+            <!-- Three line menu button for use on mobile screens -->
+            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <!-- 'style' added to align image with navbar. FIX THIS -->
+            <a class="navbar-brand" href="https://db.apache.org/jdo/">
+                <img style="margin-top: -12px;" alt="Brand" src="images/JDO_44x44.png"/>
+            </a>
+            <!-- TODO Any way to abstract the version from Maven? -->
+            <a class="navbar-brand" href="index.html">Apache JDO</a>
+        </div>
+        <!-- Navbar that will collapse on mobile screens -->
+        <div id="navbar" class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+                <li class="dropdown">
+
+                  <!-- menu item General -->
+
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">General<span class="caret"></span></a>
+                  
+                  <ul class="dropdown-menu">
+                        <li><a href="why_jdo.html">Why JDO?</a></li>
+                        <li><a href="getting-started.html">Getting Started</a></li>
+                        <li><a href="specifications.html">Specifications</a></li>
+                        <li><a href="tck.html">TCK</a></li>
+                        <li><a href="javadoc.html">API Javadoc</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="jdo_v_jpa.html">JDO v JPA</a></li>
+                        <li><a href="jdo_v_jpa_api.html">JDO v JPA : API</a></li>
+                        <li><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
+                        <li><a href="impls.html">Implementations</a></li>
+                        <li><a href="jdo_3_0_overview.html">JDO 3.0 Overview</a></li>
+                        <li><a href="references.html">References</a></li>
+                        <li><a href="glossary.html">Glossary</a></li>
+                    </ul>
+                </li>
+
+                <!-- menu item API Usage -->
+
+                <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">API Usage<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="jdohelper.html">JDO Helper</a></li>
+                        <li><a href="pmf.html">PersistenceManagerFactory</a></li>
+                        <li><a href="pm.html">PersistenceManager</a></li>
+                        <li><a href="transactions.html">Transactions</a></li>
+                        <li><a href="attach_detach.html">Attach-Detach</a></li>
+                        <li><a href="fetchgroups.html">Fetch Groups</a></li>
+                        <li><a href="state_transition.html">Object States</a></li>
+                        <li><a href="object_retrieval.html">Object Retrieval</a></li>
+                        <li><a href="exceptions.html">Exceptions</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="guides-replication.html">Data Replication</a></li>
+                    </ul>
+                </li>
+
+                <!-- menu item Types & Metadata -->
+
+                <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="background-color:#2385c6">Types &amp; Metadata<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="class_types.html">Types of Classes</a></li>
+                        <li><a href="field_types.html">Types of Fields</a></li>
+                        <li role="separator" class="divider"></li>
+                        <!-- <li class="dropdown-header">Metadata</li> -->
+                        <li><a href="metadata.html">MetaData</a></li>
+                        <li><a href="annotations.html">Annotations</a></li>
+                        <li><a href="jdo_dtd.html">jdo DTD/XSD</a></li>
+                        <li><a href="orm_dtd.html">orm DTD/XSD</a></li>
+                        <li><a href="jdoquery_dtd.html">jdoquery DTD/XSD</a></li>
+                        <li><a href="jdoconfig_dtd.html">jdoconfig DTD/XSD</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="enhancement.html">Bytecode Enhancement</a></li>
+                    </ul>
+                </li>
+
+                <!-- menu item Query -->
+
+                <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Query<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="jdoql.html">JDOQL</a></li>
+                        <li><a href="jdoql_result.html">Result</a></li>
+                        <li><a href="jdoql_methods.html">Methods</a></li>
+                        <li><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="extents.html">Extents</a></li>
+                    </ul>
+               </li>
+
+                <!-- menu item Community -->
+
+               <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Community<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="get-involved.html">Get Involved</a></li>
+                        <li><a href="team-list.html">Project Team</a></li>
+                        <li><a href="mail-lists.html">Mailing Lists</a></li>
+                        <li><a href="faq.html">FAQ</a></li>
+                    </ul>
+               </li>
+
+                <!-- menu item Development -->
+
+               <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Development<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="roadmap.html">RoadMap / TODO</a></li>
+                        <li><a href="downloads.html">Downloads</a></li>
+                        <li><a href="source-code.html">Source Code</a></li>
+                        <li><a href="http://cwiki.apache.org/GMOxDEV/Coding+standards">Coding Standards</a></li>
+                        <li><a href="issuetracking.html">Issue Tracking</a></li>
+                    </ul>
+                </li>
+            </ul>
+           <!-- 'style' added to fix height of input box. FIX THIS -->
+            <form class="navbar-form navbar-left" role="search" id="search-form" action="https://www.google.com/search" method="get" style="padding: 1px 15px;">
+                <div class="form-group">
+                    <input name="sitesearch" value="db.apache.org/jdo" type="hidden">
+                    <input name="q" type="text" class="form-control" placeholder="Search" style="margin-top: 7px; padding: 1px; border-radius: 5px; height: 30px; vertical-align: middle;">
+                </div>
+            </form>
+        </div>
+    </div>
+</nav>
+<div class="container">
+    
+        <!-- No TOC -->
+        <div class="row-fluid">
+            <div class="col-sm-12">
+                
+                    <!-- no heading -->
+                
+                <div id="doc-content">
+                    <div class="sect1">
+<h2 id="index">JDO : Annotations<a id="JDO_:_Annotations"></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>One of the things that JDK 1.5 provides that can be of some use is
+annotations, and JDO provides its own set. When selecting to use
+annotations please bear in mind the following :</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>You must have the <strong>jdo-api</strong> jar in your CLASSPATH since this provides
+the annotations</p>
+</li>
+<li>
+<p>Annotations should really only be used for attributes of persistence
+that you won&#8217;t be changing at deployment. Things such as table and
+column names shouldn&#8217;t really be specified using annotations although it
+is permitted. Instead it would be better to put such information in an
+ORM MetaData file.</p>
+</li>
+<li>
+<p>Annotations can be added in two places - for the class as a whole, or
+for a field in particular.</p>
+</li>
+<li>
+<p>You can annotate fields or getters with field-level information. If
+you annotate fields then the fields are processed for persistence. If
+you annotate the methods (getters) then the methods (properties) are
+processed for persistence.</p>
+</li>
+<li>
+<p>Annotations are prefixed by the @ symbol and can take properties (in
+brackets after the name, comma-separated)</p>
+</li>
+</ul>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Annotation</th>
+<th class="tableblock halign-left valign-top">Class/Field/Method</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#PersistenceCapable">@PersistenceCapable</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies that
+the class/interface is persistent. In the case of an interface this
+would utilise JDO2&#8217;s "persistent-interface" capabilities</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#PersistenceAware">@PersistenceAware</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies that the
+class is not persistent but needs to be able to access fields of
+persistent classes</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Cacheable_Class">@Cacheable</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether this class
+can be cached in a Level 2 cache or not.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#EmbeddedOnly">@EmbeddedOnly</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies that the class is
+persistent and can only be persisted embedded in another persistent
+class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#DatastoreIdentity">@DatastoreIdentity</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the
+details for generating datastore-identity for this class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Version">@Version</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies any versioning process for
+objects of this class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchPlans">@FetchPlans</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a series of fetch plans</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchPlan">@FetchPlan</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a fetch plan</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchGroups">@FetchGroups</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a series of fetch
+groups for this class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchGroup">@FetchGroup</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a fetch group for this
+class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Sequence">@Sequence</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a sequence for use by this
+class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Queries">@Queries</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a series of named queries for
+this class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Query">@Query</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a named query for this class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Inheritance">@Inheritance</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies the inheritance model
+for persisting this class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Discriminator">@Discriminator</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies any discriminator
+for this class to be used for determining object types</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#PrimaryKey_Class">@PrimaryKey</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines the primary
+key constraint for this class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Indices">@Indices</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of indices for
+this class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Index_Class">@Index</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines an index for the class
+as a whole (typically a composite index)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Uniques">@Uniques</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of unique
+constraints for this class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Unique_Class">@Unique</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a unique constraint
+for the class as a whole (typically a composite)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#ForeignKeys">@ForeignKeys</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of
+foreign-keys (typically for non-mapped columns/tables)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#ForeignKey_Class">@ForeignKey</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a foreign-key
+for the class as a whole (typically for non-mapped columns/tables)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Joins">@Joins</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of joins to
+secondary tables from this table</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Join_Class">@Join</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a join to a secondary
+table from this table</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Columns">@Columns</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of columns that
+dont have associated fields ("unmapped columns")</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Persistent">@Persistent</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines the persistence
+for a field/property of the class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Serialized">@Serialized</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines this field as
+being stored serialised</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#NotPersistent">@NotPersistent</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines this field
+as being not persisted</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Transactional">@Transactional</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines this field
+as being transactional (not persisted, but managed)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Cacheable">@Cacheable</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specifies whether this
+field/property can be cached in a Level 2 cache or not.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#PrimaryKey">@PrimaryKey</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines this field as
+being (part of) the primary key</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Element">@Element</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines the details of elements
+of an array/collection stored in this field</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Key">@Key</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines the details of keys of a map
+stored in this field</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Value">@Value</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines the details of values of a
+map stored in this field</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Order">@Order</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines the details of
+ordering of an array/collection stored in this field</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Join">@Join</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines the join to a join table
+for a collection/array/map</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Embedded">@Embedded</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines that this field
+is embedded and how it is embedded</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Columns">@Columns</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a series of
+columns where a field is persisted</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">@Column</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a column where a
+field is persisted</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Index">@Index</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines an index for the field</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Unique">@Unique</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a unique constraint
+for the field</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#ForeignKey">@ForeignKey</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Defines a foreign
+key for the field</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extensions">@Extensions</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class/Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a series of
+JDO extensions</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">@Extension</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class/Field/Method</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Defines a JDO
+extension</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="PersistenceCapable"></a></p>
+</div>
+<div class="sect2">
+<h3 id="__persistencecapable_a_id_apersistencecapable_a">@PersistenceCapable<a id="aPersistenceCapable"></a></h3>
+<div class="paragraph">
+<p>This annotation is used when you want to mark a class as persistent. It
+equates to the &lt;class&gt; MetaData element (though with only some of its
+attributes). Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">requiresExtent</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether an extent is required for this class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedOnly</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether objects of this class can only be stored
+embedded in other objects</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">detachable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether objects of this class can be detached</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">identityType</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">IdentityType</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Type of identity (APPLICATION, DATASTORE,
+NONDURABLE)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">DATASTORE</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">objectIdClass</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Object-id class</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table where this class is persisted</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">catalog</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the catalog where this table is
+persisted</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">schema</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the schema where this table is persisted</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cacheable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the class can be L2 cached. <strong>From JDO2.2</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>true</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serializeRead</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to default reads of this object type to
+lock the object</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable(identityType=IdentityType.APPLICATION)
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="PersistenceAware"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__persistenceaware_a_id_apersistenceaware_a">@PersistenceAware<a id="aPersistenceAware"></a></h3>
+<div class="paragraph">
+<p>This annotation is used when you want to mark a class as being used in
+persistence but not being persistable. That is "persistence-aware" in
+JDO terminology. It has no attributes. Specified on the <strong>class</strong>.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceAware
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See the documentation for <a href="class_types.html">Class Types</a></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Cacheable_Class"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__cacheable_a_id_acacheable_a">@Cacheable<a id="aCacheable"></a></h3>
+<div class="paragraph">
+<p>This annotation is a shortcut for
+@PersistenceCapable(cacheable={value}) specifying whether the class can
+be cached in a Level 2 cache. Specified on the <strong>class</strong>. The default</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the class is cacheable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>true</strong></p></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@Cacheable("false")
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="EmbeddedOnly"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__embeddedonly_a_id_aembeddedonly_a">@EmbeddedOnly<a id="aEmbeddedOnly"></a></h3>
+<div class="paragraph">
+<p>This annotation is a shortcut for
+@PersistenceCapable(embeddedOnly="true") meaning that the class can only
+be persisted embedded into another class. It has no attributes.
+Specified on the <strong>class</strong>.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@EmbeddedOnly
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Inheritance"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__inheritance_a_id_ainheritance_a">@Inheritance<a id="aInheritance"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the inheritance for a class. Specified on the
+<strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">InheritanceStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The inheritance strategy (NEW_TABLE,
+SUBCLASS_TABLE, SUPERCLASS_TABLE)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">customStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a custom inheritance strategy
+(depending on what your JDO implementation supports</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Inheritance(strategy=InheritanceStrategy.NEW_TABLE)
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Discriminator"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__discriminator_a_id_adiscriminator_a">@Discriminator<a id="aDiscriminator"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a discriminator to be stored with instances of
+this class and is used to determine the types of the objects being
+stored. Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">DiscriminatorStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The discriminator strategy (VALUE_MAP,
+CLASS_NAME, NONE)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Value to use for instances of this type when using
+strategy of VALUE_MAP</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column to use to store the
+discriminator</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the discriminator column is to be
+indexed</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definitions used for
+storing the discriminator</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Inheritance(strategy=InheritanceStrategy.NEW_TABLE)
+@Discriminator(strategy=DiscriminatorStrategy.CLASS_NAME)
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="DatastoreIdentity"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__datastoreidentity_a_id_adatastoreidentity_a">@DatastoreIdentity<a id="aDatastoreIdentity"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the identity when using datastore-identity for
+the class. Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">IdGeneratorStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The inheritance strategy (NATIVE,
+SEQUENCE, IDENTITY, INCREMENT, UUIDSTRING, UUIDHEX)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">customStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a custom id generation strategy (e.g
+"max", "auid"). This overrides the value of "strategy"</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sequence</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the sequence to use (when using SEQUENCE
+strategy) - refer to @Sequence</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for the datastore identity</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
+column(s) for the datastore identity</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@DatastoreIdentity(strategy=IdGeneratorStrategy.INCREMENT)
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Version"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__version_a_id_aversion_a">@Version<a id="aVersion"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the versioning details for use with optimistic
+transactions. Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">VersionStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The version strategy (NONE, STATE_IMAGE,
+DATE_TIME, VERSION_NUMBER)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the version column(s) is indexed</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for the version</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
+column(s) for the version</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Version(strategy=VersionStrategy.VERSION_NUMBER)
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See the documentation for <a href="transactions.html">transactions</a></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="PrimaryKey_Class"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__primarykey_a_id_aprimarykey_a">@PrimaryKey<a id="aPrimaryKey"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the primary key constraint for a class. Maps
+across to the &lt;primary-key&gt; MetaData element. Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the primary key constraint</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this key</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
+column(s) of this key</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@PrimaryKey(name="MYCLASS_PK")
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="FetchPlans"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__fetchplans_a_id_afetchplans_a">@FetchPlans<a id="aFetchPlans"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a set of fetch plans. Specified on the
+<strong>class</strong>. Used by named queries</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchPlan">FetchPlan</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of fetch plans - see
+@FetchPlan annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@FetchPlans({@FetchPlan(name="plan_3", maxFetchDepth=3, fetchGroups={"group1", "group4"}),
+             @FetchPlan(name="plan_4", maxFetchDepth=2, fetchGroups={"group1", "group2"})})
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See the documentation for <a href="fetchgroups.html">FetchGroups</a></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="FetchPlan"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__fetchplan_a_id_afetchplan_a">@FetchPlan<a id="aFetchPlan"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a fetch plan Is equivalent to the &lt;fetch-plan&gt;
+metadata element. Specified on the <strong>class</strong>. Used by named queries</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the FetchPlan</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">maxFetchDepth</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum fetch depth</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fetchSize</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Size hint for fetching query result sets</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fetchGroups</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Names of the fetch groups included in this
+FetchPlan.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@FetchPlan(name="plan_3", maxFetchDepth=3, fetchGroups={"group1", "group4"})
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See the documentation for <a href="fetchgroups.html">FetchGroups</a></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="FetchGroups"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__fetchgroups_a_id_afetchgroups_a">@FetchGroups<a id="aFetchGroups"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a set of fetch groups for a class. Specified
+on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#FetchGroup">FetchGroup</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of fetch groups - see
+@FetchGroup annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@FetchGroups({@FetchGroup(name="one_two", members={@Persistent(name="field1"), @Persistent(name="field2")}),
+              @FetchGroup(name="three", members={@Persistent(name="field3")})})
+public class MyClass
+{
+    @Persistent
+    String field1;
+
+    @Persistent
+    String field2;
+
+    @Persistent
+    String field3;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See the documentation for <a href="fetchgroups.html">FetchGroups</a></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="FetchGroup"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__fetchgroup_a_id_afetchgroup_a">@FetchGroup<a id="aFetchGroup"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a fetch group. Is equivalent to the
+&lt;fetch-group&gt; metadata element. Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the fetch group</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">postLoad</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to call jdoPostLoad after loading this fetch
+group</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Persistent">Persistent</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Definitions of the
+fields/properties to include in this fetch group</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@FetchGroup(name="one_two", members={@Persistent(name="field1"), @Persistent(name="field2")})
+public class MyClass
+{
+    @Persistent
+    String field1;
+
+    @Persistent
+    String field2;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See the documentation for <a href="fetchgroups.html">FetchGroups</a></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Sequence"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__sequence_a_id_asequence_a">@Sequence<a id="aSequence"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a sequence generator. Is equivalent to the
+&lt;sequence&gt; metadata element. Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the sequence</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">strategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">SequenceStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Strategy for the sequence
+(NONTRANSACTIONAL, CONTIGUOUS, NONCONTIGUOUS)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">datastoreSequence</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a datastore sequence that this maps
+to</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">factoryClass</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Factory class to use to generate the sequence</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">initialValue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Initial value of the sequence</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">allocationSize</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Allocation size of the sequence</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">50</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Queries"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__queries_a_id_aqueries_a">@Queries<a id="aQueries"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a set of named queries for a class. Specified
+on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Query">Query</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of queries - see @Query annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Queries({@Query(name="PeopleCalledSmith", language="JDOQL",
+                 value="SELECT FROM mydomain.Person WHERE surname == \"Smith\""),
+          @Query(name="PeopleCalledJones", language="JDOQL",
+                 value="SELECT FROM mydomain.Person WHERE surname == \"Jones\"")})
+public class Person
+{
+    @Persistent
+    String surname;
+
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Query"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__query_a_id_aquery_a">@Query<a id="aQuery"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a named query. Is equivalent to the &lt;query&gt;
+metadata element. Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the query</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The query string itself</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">language</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Language of the query (JDOQL, SQL, &#8230;&#8203;)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">JDOQL</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unmodifiable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the query is not modifiable at runtime</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the query returns unique results (for SQL
+queries only)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">resultClass</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result class to use (for SQL queries only)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fetchPlan</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a named FetchPlan to use with this query</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Query(name="PeopleCalledSmith", language="JDOQL",
+       value="SELECT FROM mydomain.Person WHERE surname == \"Smith\"")
+public class Person
+{
+    @Persistent
+    String surname;
+
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Indices"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__indices_a_id_aindices_a">@Indices<a id="aIndices"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a set of indices for a class. Specified on the
+<strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Index_Class">Index</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of indices - see @Index
+annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Indices({@Index(name="MYINDEX_1", members={"field1","field2"}), @Index(name="MYINDEX_2", members={"field3"})})
+public class Person
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Index_Class"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__index_a_id_aindex_a">@Index<a id="aIndex"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define an index for the class as a whole typically
+being a composite index across multiple columns or fields/properties. Is
+equivalent to the &lt;index&gt; metadata element when specified under class.
+Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the index</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for the index</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the index is unique</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Names of the fields/properties that make up
+this index</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Columns that make up this index</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Index(name="MY_COMPOSITE_IDX", members={"field1", "field2"})
+public class MyClass
+{
+    @Persistent
+    String field1;
+
+    @Persistent
+    String field2;
+
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Uniques"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__uniques_a_id_auniques_a">@Uniques<a id="aUniques"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a set of unique constraints for a class.
+Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Unique_Class">Unique</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of constraints - see @Unique
+annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Uniques({@Unique(name="MYCONST_1", members={"field1","field2"}), @Unique(name="MYCONST_2", members={"field3"})})
+public class Person
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Unique_Class"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__unique_a_id_aunique_a">@Unique<a id="aUnique"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a unique constraints for the class as a whole
+typically being a composite constraint across multiple columns or
+fields/properties. Is equivalent to the &lt;unique&gt; metadata element when
+specified under class. Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the constraint</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for the constraint</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">deferred</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is deferred</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Names of the fields/properties that make up
+this constraint</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Columns that make up this
+constraint</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Unique(name="MY_COMPOSITE_IDX", members={"field1", "field2"})
+public class MyClass
+{
+    @Persistent
+    String field1;
+
+    @Persistent
+    String field2;
+
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="ForeignKeys"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__foreignkeys_a_id_aforeignkeys_a">@ForeignKeys<a id="aForeignKeys"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a set of foreign-key constraints for a class.
+Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#ForeignKey_Class">ForeignKey</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of FK constraints -
+see @ForeignKey annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="ForeignKey_Class"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__foreignkey_a_id_aforeignkey_a">@ForeignKey<a id="aForeignKey"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a foreign-key constraint for the class.
+Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the constraint</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table that the FK is to</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">deferred</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is deferred</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is unique</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to apply to the FK to be
+used on deleting</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction.RESTRICT</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to apply to the FK to be
+used on updating</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction.RESTRICT</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Names of the fields/properties that compose
+this FK.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Columns that compose this FK.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Joins"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__joins_a_id_ajoins_a">@Joins<a id="aJoins"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a set of joins (to secondary tables) for a
+class. Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Join_Class">Join</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of joins - see @Join annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Joins({@Join(table="MY_OTHER_TABLE", column="MY_PK_COL"),
+        @Join(table="MY_SECOND_TABLE", column="MY_PK_COL")})
+public class MyClass
+{
+    @Persistent(table="MY_OTHER_TABLE")
+    String myField;
+
+    @Persistent(table="MY_SECOND_TABLE")
+    String myField2;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Join_Class"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__join_a_id_ajoin_a">@Join<a id="aJoin"></a></h3>
+<div class="paragraph">
+<p>Annotation used to specify a join for a secondary table. Specified on
+the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Table name used when joining the PK of a FCO class
+table to a secondary table.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column used to join to the PK of the
+primary table (when only one column used)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">outer</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to use an outer join when retrieving
+fields/properties stored in the secondary table</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the colums used to join
+to the PK of the primary table (when multiple columns used)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable(name="MYTABLE")
+@Join(table="MY_OTHER_TABLE", column="MY_PK_COL")
+public class MyClass
+{
+    @Persistent(name="MY_OTHER_TABLE")
+    String myField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Columns_Class"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__columns_a_id_acolumns_a">@Columns<a id="aColumns"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the columns which have no associated field in
+the class. User should specify a minimum of @Column "name", "jdbcType",
+and "insertValue". Specified on the <strong>class</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of columns - see @Column
+annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Columns(@Column(name="MY_OTHER_COL", jdbcType="VARCHAR", insertValue="N/A")
+public class MyClass
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Persistent"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__persistent_a_id_apersistent_a">@Persistent<a id="aPersistent"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the fields/properties to be persisted. Is
+equivalent to the &lt;field&gt; and &lt;property&gt; metadata elements. Specified on
+the <strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">persistenceModifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">PersistenceModifier</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the field is
+persistent (PERSISTENT, TRANSACTIONAL, NONE)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">[depends on field type]</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">defaultFetchGroup</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the field is part of the DFG</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">nullValue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">NullValue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Required behaviour when inserting a null value
+for this field (NONE, EXCEPTION, DEFAULT).</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">NONE</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embedded</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether this field as a whole is embedded. Use
+@Embedded to specify details.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedElement</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element stored in this
+collection/array field/property is embedded</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key stored in this map field/property
+is embedded</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedValue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value stored in this map
+field/property is embedded</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serialized</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether this field/property as a whole is
+serialised</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serializedElement</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element stored in this
+collection/array field/property is serialised</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serializedKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key stored in this map
+field/property is serialised</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serializedValue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value stored in this map
+field/property is serialised</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dependent</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether this field is dependent, deleting the
+related object when deleting this object</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dependentElement</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element stored in this
+field/property is dependent</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dependentKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key stored in this field/property is
+dependent</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dependentValue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value stored in this field/property
+is dependent</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">primaryKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether this field is (part of) the primary key</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">valueStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">IdGeneratorStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Strategy to use when generating
+values for the field (NATIVE, SEQUENCE, IDENTITY, INCREMENT, UUIDSTRING,
+UUIDHEX)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">customValueStrategy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a custom id generation strategy
+(e.g "max", "auid"). This overrides the value of "valueStrategy"</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sequence</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the sequence when using valueStrategy of
+SEQUENCE - refer to @Sequence</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">types</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Type(s) of field (when using interfaces/reference
+types).</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field in other class when the relation is
+bidirectional to signify the owner of the relation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table where this field is persisted.
+If this field is a collection/map/array then the table refers to a join
+table, otherwise this refers to a secondary table.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the field when defining an embedded field.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition(s) for the
+columns into which this field is persisted. This is only typically used
+when specifying columns of a field of an embedded class.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cacheable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the field/property can be L2 cached. <strong>From
+JDO2.2</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>true</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">recursionDepth</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Recursion depth for this field when fetching.
+<strong>Only applicable when specified within @FetchGroup</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">loadFetchGroup</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of a fetch group to activate when a load
+of this field is initiated (due to it being currently unloaded). Not
+used for getObjectById, queries, extents etc. Better to use @FetchGroup
+and define your groups</p></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Persistent(primaryKey="true")
+    String myField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See the documentation for <a href="field_types.html">Field Types</a></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Serialized"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__serialized_a_id_aserialized_a">@Serialized<a id="aSerialized"></a></h3>
+<div class="paragraph">
+<p>This annotation is a shortcut for @Persistent(serialized="true") meaning
+that the field is stored serialized. It has no attributes. Specified on
+the <strong>field/method</strong>.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Serialized
+    Object myField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="NotPersistent"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__notpersistent_a_id_anotpersistent_a">@NotPersistent<a id="aNotPersistent"></a></h3>
+<div class="paragraph">
+<p>This annotation is a shortcut for
+@Persistent(persistenceModifier=PersistenceModifier.NONE) meaning that
+the field/property is not persisted. It has no attributes. Specified on
+the <strong>field/method</strong>.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @NotPersistent
+    String myOtherField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See the documentation for <a href="field_types.html">Field Types</a></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Transactional"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__transactional_a_id_atransactional_a">@Transactional<a id="aTransactional"></a></h3>
+<div class="paragraph">
+<p>This annotation is a shortcut for
+@Persistent(persistenceModifier=PersistenceModifier.TRANSACTIONAL)
+meaning that the field/property is not persisted yet managed. It has no
+attributes. Specified on the <strong>field/method</strong>.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Transactional
+    String myOtherField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>See the documentation for <a href="field_types.html">Field Types</a></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Cacheable"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__cacheable_a_id_acacheable_a_2">@Cacheable<a id="aCacheable"></a></h3>
+<div class="paragraph">
+<p>This annotation is a shortcut for @Persistent(cacheable={value})
+specifying whether the field/property can be cached in a Level 2 cache.
+Specified on the <strong>field/property</strong>. The default</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the field/property is cacheable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>true</strong></p></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>public class MyClass
+{
+    @Cacheable("false")
+    Collection elements;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="PrimaryKey"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__primarykey_a_id_aprimarykey_a_2">@PrimaryKey<a id="aPrimaryKey"></a></h3>
+<div class="paragraph">
+<p>This annotation is a shortcut for @Persistent(primaryKey="true") meaning
+that the field/property is part of the primary key for the class. No
+attributes are needed when specified like this. Specified on the
+<strong>field/method</strong>.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @PrimaryKey
+    String myOtherField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Element"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__element_a_id_aelement_a">@Element<a id="aElement"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the element for any collection/array to be
+persisted. Maps across to the &lt;collection&gt;, &lt;array&gt; and &lt;element&gt;
+MetaData elements. Specified on the <strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">types</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Type(s) of element</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">When using an array is not needed.
+When using a collection will be taken from the collection definition if
+using generics, otherwise must be specified.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embedded</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element is embedded into a join table</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serialized</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element is serialised into the join
+table</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dependent</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the element objects are dependent when
+deleting the owner collection/array</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Field in the element class that represents this
+object (when the relation is bidirectional)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedMapping</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Embedded">Embedded</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Definition of any
+embedding of the (persistable) element. Only 1 "Embedded" should be
+provided</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for this element</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this element</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">foreignKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any foreign-key constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">generateForeignKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a FK constraint
+for the element (when not specifying the name)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
+foreign key for this element for action upon deletion</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
+foreign key for this element for action upon update</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">index</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any index constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this element column is indexed</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this element column is unique</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uniqueKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any unique key constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
+column(s) of this element</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Element(types=mydomain.MyElementClass.class, dependent="true")
+    Collection myField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Order"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__order_a_id_aorder_a">@Order<a id="aOrder"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the ordering of an order-based
+Collection/array to be persisted. Maps across to the &lt;order&gt; MetaData
+element. Specified on the <strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Field in the element class that represents the
+ordering of the collection/array</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this order</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
+column(s) of this order</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Element(types=mydomain.MyElementClass.class, dependent="true")
+    @Order(column="ORDER_IDX")
+    Collection myField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Key"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__key_a_id_akey_a">@Key<a id="aKey"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the key for any map to be persisted. Maps
+across to the &lt;map&gt; and &lt;key&gt; MetaData elements. Specified on the
+<strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">types</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Type(s) of key.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">When using generics will be taken from
+the Map definition, otherwise must be specified</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embedded</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key is embedded into a join table</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serialized</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key is serialised into the join table</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dependent</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the key objects are dependent when deleting
+the owner map</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Used to specify the field in the value class where
+the key is stored (optional).</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedMapping</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Embedded">Embedded</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Definition of any
+embedding of the (persistable) key. Only 1 "Embedded" should be provided</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for this key</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this key</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">foreignKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any foreign-key constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">generateForeignKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a FK constraint
+for the key (when not specifying the name)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
+foreign key for this key for action upon deletion</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
+foreign key for this key for action upon update</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">index</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any index constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this key column is indexed</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uniqueKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any unique key constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this key column is unique</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
+column(s) of this key</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Key(types=java.lang.String.class)
+    Map myField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Value"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__value_a_id_avalue_a">@Value<a id="aValue"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the value for any map to be persisted. Maps
+across to the &lt;map&gt; and &lt;value&gt; MetaData elements. Specified on the
+<strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">types</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Class[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Type(s) of value.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">When using generics will be taken
+from the Map definition, otherwise must be specified</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embedded</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value is embedded into a join table</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">serialized</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value is serialised into the join table</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dependent</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether the value objects are dependent when
+deleting the owner map</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">mappedBy</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Used to specify the field in the key class where the
+value is stored (optional).</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">embeddedMapping</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Embedded">Embedded</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Definition of any
+embedding of the (persistable) value. Only 1 "Embedded" should be
+provided</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table for this value</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column for this value</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">foreignKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any foreign-key constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
+foreign key for this value for action upon deletion</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">generateForeignKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a FK constraint
+for the value (when not specifying the name)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to be applied to the
+foreign key for this value for action upon update</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">index</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any index constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this value column is indexed</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uniqueKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any unique key constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether this value column is unique</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column definition for the
+column(s) of this value</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Key(types=java.lang.String.class)
+    @Value(types=mydomain.MyValueClass.class, dependent="true")
+    Map myField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Join"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__join_a_id_ajoin_a_2">@Join<a id="aJoin"></a></h3>
+<div class="paragraph">
+<p>Annotation used to specify a join to a join table for a
+collection/array/map. Specified on the <strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the table</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">column</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column to join our PK to in the join
+table (when only one column used)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">primaryKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any primary key constraint to add for
+the join table</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">generatePrimaryKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a PK constraint
+on the join table (when not specifying the name)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">foreignKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any foreign-key constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">generateForeignKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether to generate a FK constraint
+on the join table (when not specifying the name)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">index</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any index constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">indexed</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the join column(s) is indexed</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uniqueKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of any unique constraint to add</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the join column(s) has a unique
+constraint</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">columns</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the columns to join our
+PK to in the join table (when multiple columns used)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Persistent
+    @Element(types=mydomain.MyElement.class)
+    @Join(table="MYCLASS_ELEMENTS", column="MYCLASS_ELEMENTS_PK")
+    Collection myField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Embedded"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__embedded_a_id_aembedded_a">@Embedded<a id="aEmbedded"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define that the field contents is embedded into the
+same table as this field Maps across to the &lt;embedded&gt; MetaData element.
+Specified on the <strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ownerMember</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : The field/property in the embedded object
+that links back to the owning object (where it has a bidirectional
+relation)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">nullIndicatorColumn</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : The column in the embedded object
+used to judge if the embedded object is null.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">nullIndicatorValue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : The value in the null column to
+interpret the object as being null.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">members</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Persistent">Persistent</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Field/property
+definitions for this embedding.</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Embedded(members={
+            @Persistent(name="field1", columns=@Column(name="OTHER_FLD_1")),
+            @Persistent(name="field2", columns=@Column(name="OTHER_FLD_2"))
+        }
+    MyOtherClass myField;
+    ...
+}
+
+@PersistenceCapable
+@EmbeddedOnly
+public class MyOtherClass
+{
+    @Persistent
+    String field1;
+
+    @Persistent
+    String field2;
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Columns"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__columns_a_id_acolumns_a_2">@Columns<a id="aColumns"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the columns into which a field is persisted.
+If the field is persisted into a single column then @Column should be
+used. Specified on the <strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Column">Column</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of columns - see @Columns
+annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Persistent
+    @Columns({@Column(name="RED"), @Column(name="GREEN"), @Column(name="BLUE"), @Column(name="ALPHA")})
+    Color myField;
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Column"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__column_a_id_acolumn_a">@Column<a id="aColumn"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define that the colum where a field is persisted. Is
+equivalent to the &lt;column&gt; metadata element when specified under field.
+Specified on the <strong>field/method</strong> (and within other annotations).</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the column</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">target</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Column in the other class that this maps to</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">targetMember</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Field/Property in the other class that this
+maps to</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">jdbcType</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : JDBC Type to use for persisting into this
+column</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">sqlType</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : SQL Type to use for persisting into this column</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">length</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Max length of data to store in this column</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">scale</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Max number of floating points of data to store in
+this column</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">allowsNull</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether null is allowed to be persisted into
+this column</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">defaultValue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Default value to persist into this column.
+If you want the default to be NULL, then put this as "#NULL"</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">insertValue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Value to insert into this column when it is
+an "unmapped" column. If you want the inserted value to be NULL, then
+put this as "#NULL"</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">position</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Position of this column in the owning table (0 = first)</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">extensions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Vendor extensions</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Persistent
+    @Column(name="MYCOL", jdbcType="VARCHAR", length=40)
+    String field1;
+
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Index"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__index_a_id_aindex_a_2">@Index<a id="aIndex"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define that this field is indexed. Is equivalent to
+the &lt;index&gt; metadata element when specified under field. Specified on
+the <strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the index</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the index is unique</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Persistent
+    @Index(name="MYFIELD1_IDX")
+    String field1;
+
+    @Persistent
+    @Index(name="MYFIELD2_IDX", unique="true")
+    String field2;
+
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Unique"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__unique_a_id_aunique_a_2">@Unique<a id="aUnique"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define that this field has a unique constraint. Is
+equivalent to the &lt;unique&gt; metadata element when specified under field.
+Specified on the <strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the constraint</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">deferred</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is deferred</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Persistent
+    @Unique(name="MYFIELD1_IDX")
+    String field1;
+
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="ForeignKey"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__foreignkey_a_id_aforeignkey_a_2">@ForeignKey<a id="aForeignKey"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define the foreign key for a relationship field. Is
+equivalent to the &lt;foreign-key&gt; metadata element when specified under
+field. Specified on the <strong>field/method</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Name of the constraint</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">deferred</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is deferred</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">unique</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Whether the constraint is unique</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">deleteAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to apply to the FK to be
+used on deleting</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction.RESTRICT</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">updateAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ORM : Action to apply to the FK to be
+used on updating</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ForeignKeyAction.RESTRICT</p></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+public class MyClass
+{
+    @Persistent
+    @ForeignKey(name="MYFIELD1_FK", deleteAction=ForeignKeyAction.RESTRICT)
+    String field1;
+
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Extensions"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__extensions_a_id_aextensions_a">@Extensions<a id="aExtensions"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define a set of extensions specific to the JDO2
+implementation being used. Specified on the <strong>class</strong> or <strong>field</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#Extension">Extension</a>[]</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Array of extensions - see
+@Extension annotation</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Extensions({@Extension(vendorName="MyJDOImpl", key="firstExtension", value="myValue"),
+             @Extension(vendorName="MyJDOImpl", key="secondExtension", value="myValue")})
+public class Person
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="Extension"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="__extension_a_id_aextension_a">@Extension<a id="aExtension"></a></h3>
+<div class="paragraph">
+<p>Annotation used to define an extension specific to a particular JDO
+implementation. Is equivalent to the &lt;extension&gt; metadata element.
+Specified on the <strong>class</strong> or <strong>field</strong>.</p>
+</div>
+<table class="tableblock frame-all grid-cols spread">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Attribute</th>
+<th class="tableblock halign-left valign-top">Type</th>
+<th class="tableblock halign-left valign-top">Description</th>
+<th class="tableblock halign-left valign-top">Default</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">vendorName</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the JDO vendor</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">key</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Key for the extension</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">value</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Value of the extension</p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+<div class="literalblock">
+<div class="content">
+<pre>@PersistenceCapable
+@Extension(vendorName="MyJDOImpl", key="RunFast", value="true")
+public class Person
+{
+    ...
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+                </div>
+            </div>
+        </div>
+    
+</div>
+
+  <footer style="color:#fff; background-color:#222222; padding: 5px;">
+  <div class="container">
+      <div class="row" style="margin-top:25px">
+          <div class="col-sm" align="center">
+      <a href="https://www.facebook.com/JavaDataObjects" class="externalLink" title="Facebook">Facebook</a>
+              |
+                          <a href="https://twitter.com/JavaDataObjects" class="externalLink" title="Twitter">Twitter</a>
+              |
+                          <a href="http://wiki.apache.org/jdo" class="externalLink" title="Wiki">Wiki</a>
+              |
+                          <a href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10630" class="externalLink" title="Issue Tracker">Issue Tracker</a>
+              |
+                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+              |
+                          <a href="api31/apidocs/index.html" title="Latest Javadocs">Latest Javadocs</a>
+          </div>
+      </div>
+      <p class="text-center" style="margin-top:16px">&copy; 2005-2020 Apache Software Foundation. All Rights Reserved.</p>
+  </div>
+  </footer>
+
+</body>
 </html>
\ No newline at end of file
diff --git a/docs/attach_detach.html b/docs/attach_detach.html
index 9d23539..d5daeec 100644
--- a/docs/attach_detach.html
+++ b/docs/attach_detach.html
@@ -1,626 +1,626 @@
-<!DOCTYPE html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- No caching headers -->
-    <meta http-equiv="cache-control" content="no-cache"/>
-    <meta http-equiv="pragma" content="no-cache"/>
-    <meta http-equiv="expires" content="-1"/>
-    <meta name="keywords" content="JDO, Apache, Java, Data, Objects"/>
-    <meta name="description" content="Apache JDO - Java Data Objects"/>
-
-    <title>JDO Attach/Detach</title>
-
-    <link rel="icon" type="image/png" href="https://apache.github.io/db-jdo-site/images/JDO_32x32.png"/>
-
-    <!--
-        Apache JDO Documentation Template
-        ==================================
-        This template derived various aspects from Apache Deltaspike template, the Apache ISIS template and the Datanucleus template.
-        This template uses 
-        * Bootstrap v3.3.7 (https://getbootstrap.com/) for navbar.
-        * Asciidoctor "foundation" CSS
-        * Bootswatch "cosmo" theme for Bootstrap (https://bootswatch.com/cosmo).
-        * Bootstrap TOC plugin v0.4.1 (https://afeld.github.io/bootstrap-toc/) for the table of contents.
-        * jQuery (necessary for Bootstrap's JavaScript plugins)
-        * Font-Awesome for some icons used by Asciidoctor
-        NOTE: tried using Font-Awesome CSS hosted locally but then fails to work!
-    -->
-    <link href="css/bootswatch/3.3.7/bootstrap-cosmo.css" rel="stylesheet"/>
-    <link href="css/bootstrap-toc/0.4.1/bootstrap-toc.min.css" rel="stylesheet"/>
-
-    <link href="css/asciidoctor/foundation.css" rel="stylesheet"/>
-    <link href="css/datanucleus_theme.css" rel="stylesheet"/>
-    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
-
-    
-    
-     
-
-    
-
-    
-    
-    
-
-    
-    
-    
-
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
-    <script src="js/bootstrap/3.3.7/bootstrap.min.js"></script>
-    <script src="js/bootstrap-toc/0.4.1/bootstrap-toc.min.js"></script>
-
-    <!-- Coderay syntax formatter -->
-    <style type="text/css">
-        /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
-/*pre.CodeRay {background-color:#f7f7f8;}*/
-.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
-.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
-.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)}
-table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
-table.CodeRay td{vertical-align: top;line-height:1.45}
-table.CodeRay td.line-numbers{text-align:right}
-table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
-table.CodeRay td.code{padding:0 0 0 .5em}
-table.CodeRay td.code>pre{padding:0}
-.CodeRay .debug{color:#fff !important;background:#000080 !important}
-.CodeRay .annotation{color:#007}
-.CodeRay .attribute-name{color:#000080}
-.CodeRay .attribute-value{color:#700}
-.CodeRay .binary{color:#509}
-.CodeRay .comment{color:#998;font-style:italic}
-.CodeRay .char{color:#04d}
-.CodeRay .char .content{color:#04d}
-.CodeRay .char .delimiter{color:#039}
-.CodeRay .class{color:#458;font-weight:bold}
-.CodeRay .complex{color:#a08}
-.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
-.CodeRay .color{color:#099}
-.CodeRay .class-variable{color:#369}
-.CodeRay .decorator{color:#b0b}
-.CodeRay .definition{color:#099}
-.CodeRay .delimiter{color:#000}
-.CodeRay .doc{color:#970}
-.CodeRay .doctype{color:#34b}
-.CodeRay .doc-string{color:#d42}
-.CodeRay .escape{color:#666}
-.CodeRay .entity{color:#800}
-.CodeRay .error{color:#808}
-.CodeRay .exception{color:inherit}
-.CodeRay .filename{color:#099}
-.CodeRay .function{color:#900;font-weight:bold}
-.CodeRay .global-variable{color:#008080}
-.CodeRay .hex{color:#058}
-.CodeRay .integer,.CodeRay .float{color:#099}
-.CodeRay .include{color:#555}
-.CodeRay .inline{color:#000}
-.CodeRay .inline .inline{background:#ccc}
-.CodeRay .inline .inline .inline{background:#bbb}
-.CodeRay .inline .inline-delimiter{color:#d14}
-.CodeRay .inline-delimiter{color:#d14}
-.CodeRay .important{color:#555;font-weight:bold}
-.CodeRay .interpreted{color:#b2b}
-.CodeRay .instance-variable{color:#008080}
-.CodeRay .label{color:#970}
-.CodeRay .local-variable{color:#963}
-.CodeRay .octal{color:#40e}
-.CodeRay .predefined{color:#369}
-.CodeRay .preprocessor{color:#579}
-.CodeRay .pseudo-class{color:#555}
-.CodeRay .directive{font-weight:bold}
-.CodeRay .type{font-weight:bold}
-.CodeRay .predefined-type{color:inherit}
-.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
-.CodeRay .key{color:#808}
-.CodeRay .key .delimiter{color:#606}
-.CodeRay .key .char{color:#80f}
-.CodeRay .value{color:#088}
-.CodeRay .regexp .delimiter{color:#808}
-.CodeRay .regexp .content{color:#808}
-.CodeRay .regexp .modifier{color:#808}
-.CodeRay .regexp .char{color:#d14}
-.CodeRay .regexp .function{color:#404;font-weight:bold}
-.CodeRay .string{color:#d20}
-.CodeRay .string .string .string{background:#ffd0d0}
-.CodeRay .string .content{color:#d14}
-.CodeRay .string .char{color:#d14}
-.CodeRay .string .delimiter{color:#d14}
-.CodeRay .shell{color:#d14}
-.CodeRay .shell .delimiter{color:#d14}
-.CodeRay .symbol{color:#990073}
-.CodeRay .symbol .content{color:#a60}
-.CodeRay .symbol .delimiter{color:#630}
-.CodeRay .tag{color:#008080}
-.CodeRay .tag-special{color:#d70}
-.CodeRay .variable{color:#036}
-.CodeRay .insert{background:#afa}
-.CodeRay .delete{background:#faa}
-.CodeRay .change{color:#aaf;background:#007}
-.CodeRay .head{color:#f8f;background:#505}
-.CodeRay .insert .insert{color:#080}
-.CodeRay .delete .delete{color:#800}
-.CodeRay .change .change{color:#66f}
-.CodeRay .head .head{color:#f4f}
-    </style>
-</head>
-<body data-spy="scroll" data-target="#toc">
-<!-- Navbar -->
-<nav class="navbar navbar-default navbar-static-top">
-    <div class="container">
-        <div class="navbar-header">
-            <!-- Three line menu button for use on mobile screens -->
-            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
-                <span class="sr-only">Toggle navigation</span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-            </button>
-            <!-- 'style' added to align image with navbar. FIX THIS -->
-            <a class="navbar-brand" href="https://db.apache.org/jdo/">
-                <img style="margin-top: -12px;" alt="Brand" src="images/JDO_44x44.png"/>
-            </a>
-            <!-- TODO Any way to abstract the version from Maven? -->
-            <a class="navbar-brand" href="index.html">Apache JDO</a>
-        </div>
-        <!-- Navbar that will collapse on mobile screens -->
-        <div id="navbar" class="navbar-collapse collapse">
-            <ul class="nav navbar-nav">
-                <li class="dropdown">
-
-                  <!-- menu item General -->
-
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">General<span class="caret"></span></a>
-                  
-                  <ul class="dropdown-menu">
-                        <li><a href="why_jdo.html">Why JDO?</a></li>
-                        <li><a href="getting-started.html">Getting Started</a></li>
-                        <li><a href="specifications.html">Specifications</a></li>
-                        <li><a href="tck.html">TCK</a></li>
-                        <li><a href="javadoc.html">API Javadoc</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="jdo_v_jpa.html">JDO v JPA</a></li>
-                        <li><a href="jdo_v_jpa_api.html">JDO v JPA : API</a></li>
-                        <li><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
-                        <li><a href="impls.html">Implementations</a></li>
-                        <li><a href="jdo_3_0_overview.html">JDO 3.0 Overview</a></li>
-                        <li><a href="references.html">References</a></li>
-                        <li><a href="glossary.html">Glossary</a></li>
-                    </ul>
-                </li>
-
-                <!-- menu item API Usage -->
-
-                <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="background-color:#2385c6">API Usage<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="jdohelper.html">JDO Helper</a></li>
-                        <li><a href="pmf.html">PersistenceManagerFactory</a></li>
-                        <li><a href="pm.html">PersistenceManager</a></li>
-                        <li><a href="transactions.html">Transactions</a></li>
-                        <li><a href="attach_detach.html">Attach-Detach</a></li>
-                        <li><a href="fetchgroups.html">Fetch Groups</a></li>
-                        <li><a href="state_transition.html">Object States</a></li>
-                        <li><a href="object_retrieval.html">Object Retrieval</a></li>
-                        <li><a href="exceptions.html">Exceptions</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="guides-replication.html">Data Replication</a></li>
-                    </ul>
-                </li>
-
-                <!-- menu item Types & Metadata -->
-
-                <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Types &amp; Metadata<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="class_types.html">Types of Classes</a></li>
-                        <li><a href="field_types.html">Types of Fields</a></li>
-                        <li role="separator" class="divider"></li>
-                        <!-- <li class="dropdown-header">Metadata</li> -->
-                        <li><a href="metadata.html">MetaData</a></li>
-                        <li><a href="annotations.html">Annotations</a></li>
-                        <li><a href="jdo_dtd.html">jdo DTD/XSD</a></li>
-                        <li><a href="orm_dtd.html">orm DTD/XSD</a></li>
-                        <li><a href="jdoquery_dtd.html">jdoquery DTD/XSD</a></li>
-                        <li><a href="jdoconfig_dtd.html">jdoconfig DTD/XSD</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="enhancement.html">Bytecode Enhancement</a></li>
-                    </ul>
-                </li>
-
-                <!-- menu item Query -->
-
-                <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Query<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="jdoql.html">JDOQL</a></li>
-                        <li><a href="jdoql_result.html">Result</a></li>
-                        <li><a href="jdoql_methods.html">Methods</a></li>
-                        <li><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li>
-                        <li role="separator" class="divider"></li>
-                        <li><a href="extents.html">Extents</a></li>
-                    </ul>
-               </li>
-
-                <!-- menu item Community -->
-
-               <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Community<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="get-involved.html">Get Involved</a></li>
-                        <li><a href="team-list.html">Project Team</a></li>
-                        <li><a href="mail-lists.html">Mailing Lists</a></li>
-                        <li><a href="faq.html">FAQ</a></li>
-                    </ul>
-               </li>
-
-                <!-- menu item Development -->
-
-               <li class="dropdown">
-                  
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Development<span class="caret"></span></a>
-                  
-                    <ul class="dropdown-menu">
-                        <li><a href="roadmap.html">RoadMap / TODO</a></li>
-                        <li><a href="downloads.html">Downloads</a></li>
-                        <li><a href="source-code.html">Source Code</a></li>
-                        <li><a href="http://cwiki.apache.org/GMOxDEV/Coding+standards">Coding Standards</a></li>
-                        <li><a href="issuetracking.html">Issue Tracking</a></li>
-                    </ul>
-                </li>
-            </ul>
-           <!-- 'style' added to fix height of input box. FIX THIS -->
-            <form class="navbar-form navbar-left" role="search" id="search-form" action="https://www.google.com/search" method="get" style="padding: 1px 15px;">
-                <div class="form-group">
-                    <input name="sitesearch" value="db.apache.org/jdo" type="hidden">
-                    <input name="q" type="text" class="form-control" placeholder="Search" style="margin-top: 7px; padding: 1px; border-radius: 5px; height: 30px; vertical-align: middle;">
-                </div>
-            </form>
-        </div>
-    </div>
-</nav>
-<div class="container">
-    
-        <div class="row-fluid">
-            <div class="col-sm-9">
-<!--                <div class="page-title">
-                    <h3>JDO Attach/Detach<a id="JDO_AttachDetach"></a></h3>
-                </div>
--->
-                <div id="doc-content">
-                    <div class="sect1">
-<h2 id="index">JDO Attach/Detach<a id="JDO_AttachDetach"></a></h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>JDO provides an interface to the persistence of objects. JDO 1.0 doesn&#8217;t
-provide a way of taking an object that was just persisted and just work
-on it and update the persisted object later. The user has to copy the
-fields manually and copy them back to the persisted object later. JDO
-2.0 introduces a new way of handling this situation, by <strong>detaching</strong> an
-object from the persistence graph, allowing it to be worked on in the
-users application. It can then be <strong>attached</strong> to the persistence graph
-later. Please refer to <a href="state_transition.html">Object Lifecycle</a> for
-where this fits in. The first thing to do to use a class with this
-facility is to tag it as "detachable". This is done by adding the
-attribute</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>&lt;class name="MyClass" detachable="true"&gt;</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>This acts as an instruction to the <a href="enhancement.html">enhancement
-process</a> to add methods necessary to utilise the attach/detach process.</p>
-</div>
-<div class="paragraph">
-<p>The following code fragment highlights how to use the attach/detach
-mechanism</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>Product working_product=null;
-Transaction tx=pm.currentTransaction();
-try
-{
-    tx.begin();
-
-    Product prod=new Product(name,description,price);
-    pm.makePersistent(prod);
-
-    // Detach the product for use
-    working_product = (Product)pm.detachCopy(prod);
-
-    tx.commit();
-}
-catch (Exception e)
-{
-    // Handle the exception
-}
-finally
-{
-    if (tx.isActive())
-    {
-        tx.rollback();
-    }
-}
-
-// Work on the detached object in our application
-working_product.setPrice(new_price);
-
-...
-
-// Reattach the updated object
-tx = pm.currentTransaction();
-try
-{
-    tx.begin();
-
-    Product attached_product = pm.makePersistent(working_product);
-
-    tx.commit();
-}
-catch (Exception e)
-{
-    // Handle the exception
-}
-finally
-{
-    if (tx.isActive())
-    {
-        tx.rollback();
-    }
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>So we now don&#8217;t need to do any manual copying of object fields just
-using a simple call to detach the object, and then attach it again
-later. Here are a few things to note with <em>attach/detach</em> :</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Calling <em>detachCopy</em> on an object that is not detachable will return a
-<strong>transient</strong> instance that is a COPY of the original, so use the COPY
-thereafter.</p>
-</li>
-<li>
-<p>Calling <em>detachCopy</em> on an object that is detachable will return a
-<strong>detached</strong> instance that is a COPY of the original, so use this COPY
-thereafter</p>
-</li>
-<li>
-<p>A <em>detached</em> object retain the id of its datastore entity. Detached
-objects should be used where you want to update the objects and attach
-them later (updating the associated object in the datastore. If you want
-to create copies of the objects in the datastore with their own
-identities you should use <em>makeTransient</em> instead of <em>detachCopy</em>.</p>
-</li>
-<li>
-<p>Calling <em>detachCopy</em> will detach all fields of that object that are in
-the current <a href="fetchgroups.html">Fetch Group</a> for that class for that
-<em>PersistenceManager</em>.</p>
-</li>
-<li>
-<p>By default the fields of the object that will be detached are those in
-the <em>Default Fetch Group</em>.</p>
-</li>
-<li>
-<p>You should choose your <a href="fetchgroups.html">Fetch Group</a> carefully,
-bearing in mind which object(s) you want to access whilst detached.
-Detaching a relation field will detach the related object as well.</p>
-</li>
-<li>
-<p>If you don&#8217;t detach a field of an object, you <span class="underline">cannot</span>
-access the value for that field while the object is detached.</p>
-</li>
-<li>
-<p>If you don&#8217;t detach a field of an object, you <span class="underline">can</span> update
-the value for that field while detached, and thereafter you can access
-the value for that field.</p>
-</li>
-<li>
-<p>Calling <em>makePersistent</em> will return an (attached) copy of the
-detached object. It will attach all fields that were originally
-detached, and will also attach any other fields that were modified
-whilst detached.</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p><a id="detach_all_on_commit"></a></p>
-</div>
-<div class="sect2">
-<h3 id="_detach_all_on_commit_a_id_detach_all_on_commit_a">Detach All On Commit<a id="Detach_All_On_Commit"></a></h3>
-<div class="paragraph">
-<p>JDO2 also provides a mechanism whereby all objects that were enlisted in
-a transaction are automatically detached when the transaction is
-committed. You can enable this in one of 3 ways. If you want to use this
-mode globally for all <em>PersistenceManager</em>s (PMs) from a
-<em>PersistenceManagerFactory</em> (PMF) you could either set the PMF property
-"datanucleus.DetachAllOnCommit", or you could create your PMF and call
-the PMF method <strong>setDetachAllOnCommit(true)</strong>. If instead you wanted to
-use this mode only for a particular PM, or only for a particular
-transaction for a particular PM, then you can call the PM method
-<strong>setDetachAllOnCommit(true)</strong> before the commit of the transaction, and
-it will apply for all transaction commits thereafter, until turned off
-(<strong>setDetachAllOnCommit(false)</strong>. Here&#8217;s an example</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>// Create a PMF
-...
-
-// Create an object
-MyObject my = new MyObject();
-
-PersistenceManager pm = pmf.getPersistenceManager();
-Transaction tx = pm.currentTransaction();
-try
-{
-    tx.begin();
-
-    // We want our object to be detached when it's been persisted
-    pm.setDetachAllOnCommit(true);
-
-    // Persist the object that we created earlier
-    pm.makePersistent(my);
-
-    tx.commit();
-    // The object "my" is now in detached state and can be used further
-}
-finally
-{
-    if (tx.isActive)
-    {
-        tx.rollback();
-    }
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-<div class="paragraph">
-<p><a id="copy_on_attach"></a></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_copy_on_attach_a_id_copy_on_attach_a">Copy On Attach<a id="Copy_On_Attach"></a></h3>
-<div class="paragraph">
-<p>By default when you are attaching a detached object it will return an
-attached copy of the detached object. JDO2.1 provides a new feature that
-allows this attachment to just migrate the existing detached object into
-attached state.</p>
-</div>
-<div class="paragraph">
-<p>You enable this by setting the <em>PersistenceManagerFactory</em> (PMF)
-property <strong>datanucleus.CopyOnAttach</strong> to false. Alternatively you can use
-the methods <em>PersistenceManagerFactory.setCopyOnAttach(boolean flag)</em> or
-<em>PersistenceManager.setCopyOnAttach(boolean flag)</em>. If we return to the
-example at the start of this page, this now becomes</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>// Reattach the updated object
-pm.setCopyOnAttach(false);
-tx = pm.currentTransaction();
-try
-{
-    tx.begin();
-
-    // working product is currently in detached state
-
-    pm.makePersistent(working_product);
-    // working_product is now in persistent (attached) state
-
-    tx.commit();
-}
-catch (Exception e)
-{
-    // Handle the exception
-}
-finally
-{
-    if (tx.isActive())
-    {
-        tx.rollback();
-    }
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Please note that if you try to attach two detached objects representing
-the same underlying persistent object within the same transaction (i.e a
-persistent object with the same identity already exists in the level 1
-cache), then a JDOUserException will be thrown.</p>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_serialization_of_detachable_classes_a_id_serialization_of_detachable_classes_a">Serialization of Detachable classes<a id="Serialization_of_Detachable_classes"></a></h3>
-<div class="paragraph">
-<p>During enhancement of Detachable classes, a field called
-<em>jdoDetachedState</em> is added to the class definition. This field allows
-reading and changing tracking of detached objects while they are not
-managed by a PersistenceManager.</p>
-</div>
-<div class="paragraph">
-<p>When serialization occurs on a Detachable object, the <em>jdoDetachedState</em>
-field is written to the serialized object stream. On deserialize, this
-field is written back to the new deserialized instance. This process
-occurs transparently to the application. However, if deserialization
-occurs with an un-enhanced version of the class, the detached state is
-lost.</p>
-</div>
-<div class="paragraph">
-<p>Serialization and deserialization of Detachable classes and un-enhanced
-versions of the same class is only possible if the field
-<em>serialVersionUID</em> is added. It&#8217;s recommended during development of the
-class, to define the <em>serialVersionUID</em> and make the class to implement
-the <em>java.io.Serializable</em> interface, as the following example:</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>class MyClass implements java.io.Serializable
-{
-    private static final long serialVersionUID = 2765740961462495537L; // any random value here
-
-    //.... other fields
-}</pre>
-</div>
-</div>
-<div class="paragraph">
-<p><br></p>
-</div>
-</div>
-</div>
-</div>
-                </div>
-            </div>
-            <div class="col-sm-3">
-                <nav id="toc" data-spy="affix" data-toggle="toc"></nav>
-            </div>
-        </div>
-    
-</div>
-
-  <footer style="color:#fff; background-color:#222222; padding: 5px;">
-  <div class="container">
-      <div class="row" style="margin-top:25px">
-          <div class="col-sm" align="center">
-      <a href="https://www.facebook.com/JavaDataObjects" class="externalLink" title="Facebook">Facebook</a>
-              |
-                          <a href="https://twitter.com/JavaDataObjects" class="externalLink" title="Twitter">Twitter</a>
-              |
-                          <a href="http://wiki.apache.org/jdo" class="externalLink" title="Wiki">Wiki</a>
-              |
-                          <a href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10630" class="externalLink" title="Issue Tracker">Issue Tracker</a>
-              |
-                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-              |
-                          <a href="api31/apidocs/index.html" title="Latest Javadocs">Latest Javadocs</a>
-          </div>
-      </div>
-      <p class="text-center" style="margin-top:16px">&copy; 2005-2020 Apache Software Foundation. All Rights Reserved.</p>
-  </div>
-  </footer>
-
-</body>
+<!DOCTYPE html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- No caching headers -->
+    <meta http-equiv="cache-control" content="no-cache"/>
+    <meta http-equiv="pragma" content="no-cache"/>
+    <meta http-equiv="expires" content="-1"/>
+    <meta name="keywords" content="JDO, Apache, Java, Data, Objects"/>
+    <meta name="description" content="Apache JDO - Java Data Objects"/>
+
+    <title>JDO Attach/Detach</title>
+
+    <link rel="icon" type="image/png" href="https://apache.github.io/db-jdo-site/images/JDO_32x32.png"/>
+
+    <!--
+        Apache JDO Documentation Template
+        ==================================
+        This template derived various aspects from Apache Deltaspike template, the Apache ISIS template and the Datanucleus template.
+        This template uses 
+        * Bootstrap v3.3.7 (https://getbootstrap.com/) for navbar.
+        * Asciidoctor "foundation" CSS
+        * Bootswatch "cosmo" theme for Bootstrap (https://bootswatch.com/cosmo).
+        * Bootstrap TOC plugin v0.4.1 (https://afeld.github.io/bootstrap-toc/) for the table of contents.
+        * jQuery (necessary for Bootstrap's JavaScript plugins)
+        * Font-Awesome for some icons used by Asciidoctor
+        NOTE: tried using Font-Awesome CSS hosted locally but then fails to work!
+    -->
+    <link href="css/bootswatch/3.3.7/bootstrap-cosmo.css" rel="stylesheet"/>
+    <link href="css/bootstrap-toc/0.4.1/bootstrap-toc.min.css" rel="stylesheet"/>
+
+    <link href="css/asciidoctor/foundation.css" rel="stylesheet"/>
+    <link href="css/datanucleus_theme.css" rel="stylesheet"/>
+    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
+
+    
+    
+     
+
+    
+
+    
+    
+    
+
+    
+    
+    
+
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
+    <script src="js/bootstrap/3.3.7/bootstrap.min.js"></script>
+    <script src="js/bootstrap-toc/0.4.1/bootstrap-toc.min.js"></script>
+
+    <!-- Coderay syntax formatter -->
+    <style type="text/css">
+        /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
+/*pre.CodeRay {background-color:#f7f7f8;}*/
+.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
+.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
+.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)}
+table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
+table.CodeRay td{vertical-align: top;line-height:1.45}
+table.CodeRay td.line-numbers{text-align:right}
+table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
+table.CodeRay td.code{padding:0 0 0 .5em}
+table.CodeRay td.code>pre{padding:0}
+.CodeRay .debug{color:#fff !important;background:#000080 !important}
+.CodeRay .annotation{color:#007}
+.CodeRay .attribute-name{color:#000080}
+.CodeRay .attribute-value{color:#700}
+.CodeRay .binary{color:#509}
+.CodeRay .comment{color:#998;font-style:italic}
+.CodeRay .char{color:#04d}
+.CodeRay .char .content{color:#04d}
+.CodeRay .char .delimiter{color:#039}
+.CodeRay .class{color:#458;font-weight:bold}
+.CodeRay .complex{color:#a08}
+.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
+.CodeRay .color{color:#099}
+.CodeRay .class-variable{color:#369}
+.CodeRay .decorator{color:#b0b}
+.CodeRay .definition{color:#099}
+.CodeRay .delimiter{color:#000}
+.CodeRay .doc{color:#970}
+.CodeRay .doctype{color:#34b}
+.CodeRay .doc-string{color:#d42}
+.CodeRay .escape{color:#666}
+.CodeRay .entity{color:#800}
+.CodeRay .error{color:#808}
+.CodeRay .exception{color:inherit}
+.CodeRay .filename{color:#099}
+.CodeRay .function{color:#900;font-weight:bold}
+.CodeRay .global-variable{color:#008080}
+.CodeRay .hex{color:#058}
+.CodeRay .integer,.CodeRay .float{color:#099}
+.CodeRay .include{color:#555}
+.CodeRay .inline{color:#000}
+.CodeRay .inline .inline{background:#ccc}
+.CodeRay .inline .inline .inline{background:#bbb}
+.CodeRay .inline .inline-delimiter{color:#d14}
+.CodeRay .inline-delimiter{color:#d14}
+.CodeRay .important{color:#555;font-weight:bold}
+.CodeRay .interpreted{color:#b2b}
+.CodeRay .instance-variable{color:#008080}
+.CodeRay .label{color:#970}
+.CodeRay .local-variable{color:#963}
+.CodeRay .octal{color:#40e}
+.CodeRay .predefined{color:#369}
+.CodeRay .preprocessor{color:#579}
+.CodeRay .pseudo-class{color:#555}
+.CodeRay .directive{font-weight:bold}
+.CodeRay .type{font-weight:bold}
+.CodeRay .predefined-type{color:inherit}
+.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
+.CodeRay .key{color:#808}
+.CodeRay .key .delimiter{color:#606}
+.CodeRay .key .char{color:#80f}
+.CodeRay .value{color:#088}
+.CodeRay .regexp .delimiter{color:#808}
+.CodeRay .regexp .content{color:#808}
+.CodeRay .regexp .modifier{color:#808}
+.CodeRay .regexp .char{color:#d14}
+.CodeRay .regexp .function{color:#404;font-weight:bold}
+.CodeRay .string{color:#d20}
+.CodeRay .string .string .string{background:#ffd0d0}
+.CodeRay .string .content{color:#d14}
+.CodeRay .string .char{color:#d14}
+.CodeRay .string .delimiter{color:#d14}
+.CodeRay .shell{color:#d14}
+.CodeRay .shell .delimiter{color:#d14}
+.CodeRay .symbol{color:#990073}
+.CodeRay .symbol .content{color:#a60}
+.CodeRay .symbol .delimiter{color:#630}
+.CodeRay .tag{color:#008080}
+.CodeRay .tag-special{color:#d70}
+.CodeRay .variable{color:#036}
+.CodeRay .insert{background:#afa}
+.CodeRay .delete{background:#faa}
+.CodeRay .change{color:#aaf;background:#007}
+.CodeRay .head{color:#f8f;background:#505}
+.CodeRay .insert .insert{color:#080}
+.CodeRay .delete .delete{color:#800}
+.CodeRay .change .change{color:#66f}
+.CodeRay .head .head{color:#f4f}
+    </style>
+</head>
+<body data-spy="scroll" data-target="#toc">
+<!-- Navbar -->
+<nav class="navbar navbar-default navbar-static-top">
+    <div class="container">
+        <div class="navbar-header">
+            <!-- Three line menu button for use on mobile screens -->
+            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <!-- 'style' added to align image with navbar. FIX THIS -->
+            <a class="navbar-brand" href="https://db.apache.org/jdo/">
+                <img style="margin-top: -12px;" alt="Brand" src="images/JDO_44x44.png"/>
+            </a>
+            <!-- TODO Any way to abstract the version from Maven? -->
+            <a class="navbar-brand" href="index.html">Apache JDO</a>
+        </div>
+        <!-- Navbar that will collapse on mobile screens -->
+        <div id="navbar" class="navbar-collapse collapse">
+            <ul class="nav navbar-nav">
+                <li class="dropdown">
+
+                  <!-- menu item General -->
+
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">General<span class="caret"></span></a>
+                  
+                  <ul class="dropdown-menu">
+                        <li><a href="why_jdo.html">Why JDO?</a></li>
+                        <li><a href="getting-started.html">Getting Started</a></li>
+                        <li><a href="specifications.html">Specifications</a></li>
+                        <li><a href="tck.html">TCK</a></li>
+                        <li><a href="javadoc.html">API Javadoc</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="jdo_v_jpa.html">JDO v JPA</a></li>
+                        <li><a href="jdo_v_jpa_api.html">JDO v JPA : API</a></li>
+                        <li><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
+                        <li><a href="impls.html">Implementations</a></li>
+                        <li><a href="jdo_3_0_overview.html">JDO 3.0 Overview</a></li>
+                        <li><a href="references.html">References</a></li>
+                        <li><a href="glossary.html">Glossary</a></li>
+                    </ul>
+                </li>
+
+                <!-- menu item API Usage -->
+
+                <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" style="background-color:#2385c6">API Usage<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="jdohelper.html">JDO Helper</a></li>
+                        <li><a href="pmf.html">PersistenceManagerFactory</a></li>
+                        <li><a href="pm.html">PersistenceManager</a></li>
+                        <li><a href="transactions.html">Transactions</a></li>
+                        <li><a href="attach_detach.html">Attach-Detach</a></li>
+                        <li><a href="fetchgroups.html">Fetch Groups</a></li>
+                        <li><a href="state_transition.html">Object States</a></li>
+                        <li><a href="object_retrieval.html">Object Retrieval</a></li>
+                        <li><a href="exceptions.html">Exceptions</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="guides-replication.html">Data Replication</a></li>
+                    </ul>
+                </li>
+
+                <!-- menu item Types & Metadata -->
+
+                <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Types &amp; Metadata<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="class_types.html">Types of Classes</a></li>
+                        <li><a href="field_types.html">Types of Fields</a></li>
+                        <li role="separator" class="divider"></li>
+                        <!-- <li class="dropdown-header">Metadata</li> -->
+                        <li><a href="metadata.html">MetaData</a></li>
+                        <li><a href="annotations.html">Annotations</a></li>
+                        <li><a href="jdo_dtd.html">jdo DTD/XSD</a></li>
+                        <li><a href="orm_dtd.html">orm DTD/XSD</a></li>
+                        <li><a href="jdoquery_dtd.html">jdoquery DTD/XSD</a></li>
+                        <li><a href="jdoconfig_dtd.html">jdoconfig DTD/XSD</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="enhancement.html">Bytecode Enhancement</a></li>
+                    </ul>
+                </li>
+
+                <!-- menu item Query -->
+
+                <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Query<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="jdoql.html">JDOQL</a></li>
+                        <li><a href="jdoql_result.html">Result</a></li>
+                        <li><a href="jdoql_methods.html">Methods</a></li>
+                        <li><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="extents.html">Extents</a></li>
+                    </ul>
+               </li>
+
+                <!-- menu item Community -->
+
+               <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Community<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="get-involved.html">Get Involved</a></li>
+                        <li><a href="team-list.html">Project Team</a></li>
+                        <li><a href="mail-lists.html">Mailing Lists</a></li>
+                        <li><a href="faq.html">FAQ</a></li>
+                    </ul>
+               </li>
+
+                <!-- menu item Development -->
+
+               <li class="dropdown">
+                  
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Development<span class="caret"></span></a>
+                  
+                    <ul class="dropdown-menu">
+                        <li><a href="roadmap.html">RoadMap / TODO</a></li>
+                        <li><a href="downloads.html">Downloads</a></li>
+                        <li><a href="source-code.html">Source Code</a></li>
+                        <li><a href="http://cwiki.apache.org/GMOxDEV/Coding+standards">Coding Standards</a></li>
+                        <li><a href="issuetracking.html">Issue Tracking</a></li>
+                    </ul>
+                </li>
+            </ul>
+           <!-- 'style' added to fix height of input box. FIX THIS -->
+            <form class="navbar-form navbar-left" role="search" id="search-form" action="https://www.google.com/search" method="get" style="padding: 1px 15px;">
+                <div class="form-group">
+                    <input name="sitesearch" value="db.apache.org/jdo" type="hidden">
+                    <input name="q" type="text" class="form-control" placeholder="Search" style="margin-top: 7px; padding: 1px; border-radius: 5px; height: 30px; vertical-align: middle;">
+                </div>
+            </form>
+        </div>
+    </div>
+</nav>
+<div class="container">
+    
+        <div class="row-fluid">
+            <div class="col-sm-9">
+<!--                <div class="page-title">
+                    <h3>JDO Attach/Detach<a id="JDO_AttachDetach"></a></h3>
+                </div>
+-->
+                <div id="doc-content">
+                    <div class="sect1">
+<h2 id="index">JDO Attach/Detach<a id="JDO_AttachDetach"></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>JDO provides an interface to the persistence of objects. JDO 1.0 doesn&#8217;t
+provide a way of taking an object that was just persisted and just work
+on it and update the persisted object later. The user has to copy the
+fields manually and copy them back to the persisted object later. JDO
+2.0 introduces a new way of handling this situation, by <strong>detaching</strong> an
+object from the persistence graph, allowing it to be worked on in the
+users application. It can then be <strong>attached</strong> to the persistence graph
+later. Please refer to <a href="state_transition.html">Object Lifecycle</a> for
+where this fits in. The first thing to do to use a class with this
+facility is to tag it as "detachable". This is done by adding the
+attribute</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>&lt;class name="MyClass" detachable="true"&gt;</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This acts as an instruction to the <a href="enhancement.html">enhancement
+process</a> to add methods necessary to utilise the attach/detach process.</p>
+</div>
+<div class="paragraph">
+<p>The following code fragment highlights how to use the attach/detach
+mechanism</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>Product working_product=null;
+Transaction tx=pm.currentTransaction();
+try
+{
+    tx.begin();
+
+    Product prod=new Product(name,description,price);
+    pm.makePersistent(prod);
+
+    // Detach the product for use
+    working_product = (Product)pm.detachCopy(prod);
+
+    tx.commit();
+}
+catch (Exception e)
+{
+    // Handle the exception
+}
+finally
+{
+    if (tx.isActive())
+    {
+        tx.rollback();
+    }
+}
+
+// Work on the detached object in our application
+working_product.setPrice(new_price);
+
+...
+
+// Reattach the updated object
+tx = pm.currentTransaction();
+try
+{
+    tx.begin();
+
+    Product attached_product = pm.makePersistent(working_product);
+
+    tx.commit();
+}
+catch (Exception e)
+{
+    // Handle the exception
+}
+finally
+{
+    if (tx.isActive())
+    {
+        tx.rollback();
+    }
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>So we now don&#8217;t need to do any manual copying of object fields just
+using a simple call to detach the object, and then attach it again
+later. Here are a few things to note with <em>attach/detach</em> :</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Calling <em>detachCopy</em> on an object that is not detachable will return a
+<strong>transient</strong> instance that is a COPY of the original, so use the COPY
+thereafter.</p>
+</li>
+<li>
+<p>Calling <em>detachCopy</em> on an object that is detachable will return a
+<strong>detached</strong> instance that is a COPY of the original, so use this COPY
+thereafter</p>
+</li>
+<li>
+<p>A <em>detached</em> object retain the id of its datastore entity. Detached
+objects should be used where you want to update the objects and attach
+them later (updating the associated object in the datastore. If you want
+to create copies of the objects in the datastore with their own
+identities you should use <em>makeTransient</em> instead of <em>detachCopy</em>.</p>
+</li>
+<li>
+<p>Calling <em>detachCopy</em> will detach all fields of that object that are in
+the current <a href="fetchgroups.html">Fetch Group</a> for that class for that
+<em>PersistenceManager</em>.</p>
+</li>
+<li>
+<p>By default the fields of the object that will be detached are those in
+the <em>Default Fetch Group</em>.</p>
+</li>
+<li>
+<p>You should choose your <a href="fetchgroups.html">Fetch Group</a> carefully,
+bearing in mind which object(s) you want to access whilst detached.
+Detaching a relation field will detach the related object as well.</p>
+</li>
+<li>
+<p>If you don&#8217;t detach a field of an object, you <span class="underline">cannot</span>
+access the value for that field while the object is detached.</p>
+</li>
+<li>
+<p>If you don&#8217;t detach a field of an object, you <span class="underline">can</span> update
+the value for that field while detached, and thereafter you can access
+the value for that field.</p>
+</li>
+<li>
+<p>Calling <em>makePersistent</em> will return an (attached) copy of the
+detached object. It will attach all fields that were originally
+detached, and will also attach any other fields that were modified
+whilst detached.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><a id="detach_all_on_commit"></a></p>
+</div>
+<div class="sect2">
+<h3 id="_detach_all_on_commit_a_id_detach_all_on_commit_a">Detach All On Commit<a id="Detach_All_On_Commit"></a></h3>
+<div class="paragraph">
+<p>JDO2 also provides a mechanism whereby all objects that were enlisted in
+a transaction are automatically detached when the transaction is
+committed. You can enable this in one of 3 ways. If you want to use this
+mode globally for all <em>PersistenceManager</em>s (PMs) from a
+<em>PersistenceManagerFactory</em> (PMF) you could either set the PMF property
+"datanucleus.DetachAllOnCommit", or you could create your PMF and call
+the PMF method <strong>setDetachAllOnCommit(true)</strong>. If instead you wanted to
+use this mode only for a particular PM, or only for a particular
+transaction for a particular PM, then you can call the PM method
+<strong>setDetachAllOnCommit(true)</strong> before the commit of the transaction, and
+it will apply for all transaction commits thereafter, until turned off
+(<strong>setDetachAllOnCommit(false)</strong>. Here&#8217;s an example</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>// Create a PMF
+...
+
+// Create an object
+MyObject my = new MyObject();
+
+PersistenceManager pm = pmf.getPersistenceManager();
+Transaction tx = pm.currentTransaction();
+try
+{
+    tx.begin();
+
+    // We want our object to be detached when it's been persisted
+    pm.setDetachAllOnCommit(true);
+
+    // Persist the object that we created earlier
+    pm.makePersistent(my);
+
+    tx.commit();
+    // The object "my" is now in detached state and can be used further
+}
+finally
+{
+    if (tx.isActive)
+    {
+        tx.rollback();
+    }
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+<div class="paragraph">
+<p><a id="copy_on_attach"></a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_copy_on_attach_a_id_copy_on_attach_a">Copy On Attach<a id="Copy_On_Attach"></a></h3>
+<div class="paragraph">
+<p>By default when you are attaching a detached object it will return an
+attached copy of the detached object. JDO2.1 provides a new feature that
+allows this attachment to just migrate the existing detached object into
+attached state.</p>
+</div>
+<div class="paragraph">
+<p>You enable this by setting the <em>PersistenceManagerFactory</em> (PMF)
+property <strong>datanucleus.CopyOnAttach</strong> to false. Alternatively you can use
+the methods <em>PersistenceManagerFactory.setCopyOnAttach(boolean flag)</em> or
+<em>PersistenceManager.setCopyOnAttach(boolean flag)</em>. If we return to the
+example at the start of this page, this now becomes</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>// Reattach the updated object
+pm.setCopyOnAttach(false);
+tx = pm.currentTransaction();
+try
+{
+    tx.begin();
+
+    // working product is currently in detached state
+
+    pm.makePersistent(working_product);
+    // working_product is now in persistent (attached) state
+
+    tx.commit();
+}
+catch (Exception e)
+{
+    // Handle the exception
+}
+finally
+{
+    if (tx.isActive())
+    {
+        tx.rollback();
+    }
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Please note that if you try to attach two detached objects representing
+the same underlying persistent object within the same transaction (i.e a
+persistent object with the same identity already exists in the level 1
+cache), then a JDOUserException will be thrown.</p>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_serialization_of_detachable_classes_a_id_serialization_of_detachable_classes_a">Serialization of Detachable classes<a id="Serialization_of_Detachable_classes"></a></h3>
+<div class="paragraph">
+<p>During enhancement of Detachable classes, a field called
+<em>jdoDetachedState</em> is added to the class definition. This field allows
+reading and changing tracking of detached objects while they are not
+managed by a PersistenceManager.</p>
+</div>
+<div class="paragraph">
+<p>When serialization occurs on a Detachable object, the <em>jdoDetachedState</em>
+field is written to the serialized object stream. On deserialize, this
+field is written back to the new deserialized instance. This process
+occurs transparently to the application. However, if deserialization
+occurs with an un-enhanced version of the class, the detached state is
+lost.</p>
+</div>
+<div class="paragraph">
+<p>Serialization and deserialization of Detachable classes and un-enhanced
+versions of the same class is only possible if the field
+<em>serialVersionUID</em> is added. It&#8217;s recommended during development of the
+class, to define the <em>serialVersionUID</em> and make the class to implement
+the <em>java.io.Serializable</em> interface, as the following example:</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>class MyClass implements java.io.Serializable
+{
+    private static final long serialVersionUID = 2765740961462495537L; // any random value here
+
+    //.... other fields
+}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p><br></p>
+</div>
+</div>
+</div>
+</div>
+                </div>
+            </div>
+            <div class="col-sm-3">
+                <nav id="toc" data-spy="affix" data-toggle="toc"></nav>
+            </div>
+        </div>
+    
+</div>
+
+  <footer style="color:#fff; background-color:#222222; padding: 5px;">
+  <div class="container">
+      <div class="row" style="margin-top:25px">
+          <div class="col-sm" align="center">
+      <a href="https://www.facebook.com/JavaDataObjects" class="externalLink" title="Facebook">Facebook</a>
+              |
+                          <a href="https://twitter.com/JavaDataObjects" class="externalLink" title="Twitter">Twitter</a>
+              |
+                          <a href="http://wiki.apache.org/jdo" class="externalLink" title="Wiki">Wiki</a>
+              |
+                          <a href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10630" class="externalLink" title="Issue Tracker">Issue Tracker</a>
+              |
+                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+              |
+                          <a href="api31/apidocs/index.html" title="Latest Javadocs">Latest Javadocs</a>
+          </div>
+      </div>
+      <p class="text-center" style="margin-top:16px">&copy; 2005-2020 Apache Software Foundation. All Rights Reserved.</p>
+  </div>
+  </footer>
+
+</body>
 </html>
\ No newline at end of file
diff --git a/docs/class_types.html b/docs/class_types.html
index 8f039cf..359917c 100644
--- a/docs/class_types.html
+++ b/docs/class_types.html
@@ -1,422 +1,422 @@
-<!DOCTYPE html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- No caching headers -->
-    <meta http-equiv="cache-control" content="no-cache"/>
-    <meta http-equiv="pragma" content="no-cache"/>
-    <meta http-equiv="expires" content="-1"/>
-    <meta name="keywords" content="JDO, Apache, Java, Data, Objects"/>
-    <meta name="description" content="Apache JDO - Java Data Objects"/>
-
-    <title>JDO Class Types</title>
-
-    <link rel="icon" type="image/png" href="https://apache.github.io/db-jdo-site/images/JDO_32x32.png"/>
-
-    <!--
-        Apache JDO Documentation Template
-        ==================================
-        This template derived various aspects from Apache Deltaspike template, the Apache ISIS template and the Datanucleus template.
-        This template uses 
-        * Bootstrap v3.3.7 (https://getbootstrap.com/) for navbar.
-        * Asciidoctor "foundation" CSS
-        * Bootswatch "cosmo" theme for Bootstrap (https://bootswatch.com/cosmo).
-        * Bootstrap TOC plugin v0.4.1 (https://afeld.github.io/bootstrap-toc/) for the table of contents.
-        * jQuery (necessary for Bootstrap's JavaScript plugins)
-        * Font-Awesome for some icons used by Asciidoctor
-        NOTE: tried using Font-Awesome CSS hosted locally but then fails to work!
-    -->
-    <link href="css/bootswatch/3.3.7/bootstrap-cosmo.css" rel="stylesheet"/>
-    <link href="css/bootstrap-toc/0.4.1/bootstrap-toc.min.css" rel="stylesheet"/>
-
-    <link href="css/asciidoctor/foundation.css" rel="stylesheet"/>
-    <link href="css/datanucleus_theme.css" rel="stylesheet"/>
-    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
-
-    
-    
-     
-
-    
-
-    
-    
-    
-
-    
-    
-    
-
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
-    <script src="js/bootstrap/3.3.7/bootstrap.min.js"></script>
-    <script src="js/bootstrap-toc/0.4.1/bootstrap-toc.min.js"></script>
-
-    <!-- Coderay syntax formatter -->
-    <style type="text/css">
-        /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
-/*pre.CodeRay {background-color:#f7f7f8;}*/
-.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
-.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
-.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)}
-table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
-table.CodeRay td{vertical-align: top;line-height:1.45}
-table.CodeRay td.line-numbers{text-align:right}
-table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
-table.CodeRay td.code{padding:0 0 0 .5em}
-table.CodeRay td.code>pre{padding:0}
-.CodeRay .debug{color:#fff !important;background:#000080 !important}
-.CodeRay .annotation{color:#007}
-.CodeRay .attribute-name{color:#000080}
-.CodeRay .attribute-value{color:#700}
-.CodeRay .binary{color:#509}
-.CodeRay .comment{color:#998;font-style:italic}
-.CodeRay .char{color:#04d}
-.CodeRay .char .content{color:#04d}
-.CodeRay .char .delimiter{color:#039}
-.CodeRay .class{color:#458;font-weight:bold}
-.CodeRay .complex{color:#a08}
-.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
-.CodeRay .color{color:#099}
-.CodeRay .class-variable{color:#369}
-.CodeRay .decorator{color:#b0b}
-.CodeRay .definition{color:#099}
-.CodeRay .delimiter{color:#000}
-.CodeRay .doc{color:#970}
-.CodeRay .doctype{color:#34b}
-.CodeRay .doc-string{color:#d42}
-.CodeRay .escape{color:#666}
-.CodeRay .entity{color:#800}
-.CodeRay .error{color:#808}
-.CodeRay .exception{color:inherit}
-.CodeRay .filename{color:#099}
-.CodeRay .function{color:#900;font-weight:bold}
-.CodeRay .global-variable{color:#008080}
-.CodeRay .hex{color:#058}
-.CodeRay .integer,.CodeRay .float{color:#099}
-.CodeRay .include{color:#555}
-.CodeRay .inline{color:#000}
-.CodeRay .inline .inline{background:#ccc}
-.CodeRay .inline .inline .inline{background:#bbb}
-.CodeRay .inline .inline-delimiter{color:#d14}
-.CodeRay .inline-delimiter{color:#d14}
... 57840 lines suppressed ...