You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by an...@apache.org on 2011/04/09 12:17:00 UTC

svn commit: r1090559 [8/8] - in /db/jdo/site: docs/ docs/guides/ docs/releases/ xdocs/

Modified: db/jdo/site/docs/team-list.html
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/team-list.html?rev=1090559&r1=1090558&r2=1090559&view=diff
==============================================================================
--- db/jdo/site/docs/team-list.html (original)
+++ db/jdo/site/docs/team-list.html Sat Apr  9 10:16:58 2011
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Java Data Objects (JDO) - Project Team</title><style type="text/css" media="all">
           @import url("./style/maven-base.css");
           
-			    @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="Apache JDO Development Team"></meta><meta name="email" content="jdo-dev@db.apache.org"></meta></head><body class="composite"><div id="banner"><table><tr><td nowrap="true"><a href="http://db.apache.org/jdo" id="projectLogo"><img alt="Java Data Objects (JDO)" src="./images/JDOx120.gif"></img></a><a href="http://db.apache.org/jdo" id="organizationLogo"><img alt="Java Data Objects (JDO)" src="./images/jdo_text.gif"></img></a></td></tr></table><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuGeneral"><h5>General</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="why_jdo.htm
 l">Why JDO?</a></li><li class="none"><a href="jdo_v_jpa.html">JDO v JPA</a></li><li class="none"><a href="jdo_v_jpa_api.html">JDO v JPA : API</a></li><li class="none"><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li><li class="none"><a href="downloads.html">Downloads</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="External Link">License</a></li></ul></div><br></br><div id="menuJDO_Implementation"><h5>JDO Implementation</h5><ul><li class="none"><a href="specifications.html">Specifications</a></li><li class="none"><a href="tck.html">TCK</a></li></ul></div><br></br><div id="menuJDO_Usage"><h5>JDO Usage</h5><ul><li class="none"><a href="impls.html">Implementations</a></li><li class="none"><a href="javadoc.html">API Javadoc</a></li><li class="none"><a href="class_types.html">Types of Classes</a></li><li class="none"><a href="field_types.html">Types of Fields</a></li><li class="collapsed"><a href="metadata.html">MetaDat
 a</a></li><li class="none"><a href="enhancement.html">Bytecode Enhancement</a></li><li class="none"><a href="jdohelper.html">JDOHelper</a></li><li class="none"><a href="pmf.html">PersistenceManagerFactory</a></li><li class="none"><a href="pm.html">PersistenceManager</a></li><li class="none"><a href="transactions.html">Transactions</a></li><li class="none"><a href="state_transition.html">Object States</a></li><li class="none"><a href="object_retrieval.html">Object Retrieval</a></li><li class="expanded"><a href="jdoql.html">JDOQL</a><ul><li class="none"><a href="jdoql_result.html">Result</a></li><li class="none"><a href="jdoql_methods.html">Methods</a></li><li class="none"><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li></ul></li><li class="none"><a href="extents.html">Extents</a></li><li class="collapsed"><a href="guides.html">Guides</a></li><li class="none"><a href="references.html">References</a></li><li class="none"><a href="exceptions.html">Exceptions</a></li><li class
 ="none"><a href="glossary.html">Glossary</a></li></ul></div><br></br><div id="menuCommunity"><h5>Community</h5><ul><li class="none"><a href="get-involved.html">Get Involved</a></li><li class="none"><strong><a href="team-list.html">Project Team</a></strong></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="http://wiki.apache.org/jdo" class="externalLink" title="External Link">Wiki</a></li></ul></div><br></br><div id="menuDevelopment"><h5>Development</h5><ul><li class="none"><a href="roadmap.html">RoadMap / TODO</a></li><li class="none"><a href="svn.html">Source Code</a></li><li class="none"><a href="http://cwiki.apache.org/GMOxDEV/coding-standards.html" class="externalLink" title="External Link">Coding Standards</a></li><li class="none"><a href="issuetracking.html">Issue Tracking</a></li><li class="none"><a href="dependencies.html">Dependencies</a></li></ul></div><br></br></div></div>
 <div id="bodyColumn"><div class="contentBox"><div class="section"><a name="The_Apache_JDO_Team"></a><h2>The Apache JDO Team</h2><p>
+			    @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="Apache JDO Development Team"></meta><meta name="email" content="jdo-dev@db.apache.org"></meta></head><body class="composite"><div id="banner"><table><tr><td nowrap="true"><a href="http://db.apache.org/jdo" id="projectLogo"><img alt="Java Data Objects (JDO)" src="./images/JDOx120.gif"></img></a><a href="http://db.apache.org/jdo" id="organizationLogo"><img alt="Java Data Objects (JDO)" src="./images/jdo_text.gif"></img></a></td></tr></table><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuGeneral"><h5>General</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="why_jdo.htm
 l">Why JDO?</a></li><li class="none"><a href="jdo_v_jpa.html">JDO v JPA</a></li><li class="none"><a href="jdo_v_jpa_api.html">JDO v JPA : API</a></li><li class="none"><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li><li class="none"><a href="downloads.html">Downloads</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="External Link">License</a></li></ul></div><br></br><div id="menuJDO_Implementation"><h5>JDO Implementation</h5><ul><li class="none"><a href="specifications.html">Specifications</a></li><li class="none"><a href="tck.html">TCK</a></li></ul></div><br></br><div id="menuJDO_Usage"><h5>JDO Usage</h5><ul><li class="none"><a href="impls.html">Implementations</a></li><li class="none"><a href="javadoc.html">API Javadoc</a></li><li class="none"><a href="class_types.html">Types of Classes</a></li><li class="none"><a href="field_types.html">Types of Fields</a></li><li class="collapsed"><a href="metadata.html">MetaDat
 a</a></li><li class="none"><a href="enhancement.html">Bytecode Enhancement</a></li><li class="none"><a href="jdohelper.html">JDOHelper</a></li><li class="none"><a href="pmf.html">PersistenceManagerFactory</a></li><li class="none"><a href="pm.html">PersistenceManager</a></li><li class="none"><a href="transactions.html">Transactions</a></li><li class="none"><a href="attach_detach.html">Attach-Detach</a></li><li class="none"><a href="fetchgroups.html">Fetch Groups</a></li><li class="none"><a href="state_transition.html">Object States</a></li><li class="none"><a href="object_retrieval.html">Object Retrieval</a></li><li class="expanded"><a href="jdoql.html">JDOQL</a><ul><li class="none"><a href="jdoql_result.html">Result</a></li><li class="none"><a href="jdoql_methods.html">Methods</a></li><li class="none"><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li></ul></li><li class="none"><a href="extents.html">Extents</a></li><li class="collapsed"><a href="guides.html">Guides</a></li>
 <li class="none"><a href="references.html">References</a></li><li class="none"><a href="exceptions.html">Exceptions</a></li><li class="none"><a href="glossary.html">Glossary</a></li></ul></div><br></br><div id="menuCommunity"><h5>Community</h5><ul><li class="none"><a href="get-involved.html">Get Involved</a></li><li class="none"><strong><a href="team-list.html">Project Team</a></strong></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="http://wiki.apache.org/jdo" class="externalLink" title="External Link">Wiki</a></li></ul></div><br></br><div id="menuDevelopment"><h5>Development</h5><ul><li class="none"><a href="roadmap.html">RoadMap / TODO</a></li><li class="none"><a href="svn.html">Source Code</a></li><li class="none"><a href="http://cwiki.apache.org/GMOxDEV/coding-standards.html" class="externalLink" title="External Link">Coding Standards</a></li><li class="none"><a href="issuetra
 cking.html">Issue Tracking</a></li><li class="none"><a href="dependencies.html">Dependencies</a></li></ul></div><br></br></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="The_Apache_JDO_Team"></a><h2>The Apache JDO Team</h2><p>
     The people listed below have made significant contributions to JDO by
     working long and hard to make quality software for the rest of the world to
     use.
@@ -16,4 +16,4 @@
     <a href="get-involved.html">Get Involved</a>.
 </p></div><div class="section"><a name="Apache_JDO_Committers"></a><h2>Apache JDO Committers</h2><table class="bodyTable"><tr class="a"><th>Name</th><th>Organization</th></tr><tr class="b"><td>Matthew Adams</td><td>SpringSource</td></tr><tr class="a"><td>Erik Bengtson</td><td>JPOX</td></tr><tr class="b"><td>Michael Bouschen</td><td>Tech@Spree</td></tr><tr class="a"><td>Michelle Caisse</td><td>Sun Microsystems, Inc.</td></tr><tr class="b"><td>Andy Jefferson</td><td>DataNucleus</td></tr><tr class="a"><td>Patrick Linskey</td><td>Oracle</td></tr><tr class="b"><td>Geir Magnusson Jr.</td><td>IBM</td></tr><tr class="a"><td>Brian McCallister</td><td></td></tr><tr class="b"><td>Craig Russell</td><td>Sun Microsystems, Inc.</td></tr><tr class="a"><td>Dain Sundstrom</td><td></td></tr><tr class="b"><td>Brian Topping</td><td></td></tr><tr class="a"><td>Michael Watzek</td><td>Tech@Spree</td></tr><tr class="b"><td>Martin Zaun</td><td>Sun Microsystems, Inc.</td></tr></table></div><div class=
 "section"><a name="Apache_JDO_Contributors"></a><h2>Apache JDO Contributors</h2><table class="bodyTable"><tr class="a"><th>Name</th><th>Organization</th></tr><tr class="b"><td>Chris Beams</td><td>SpringSource</td></tr><tr class="a"><td>Ilan Kirsch</td><td>ObjectDB</td></tr></table></div></div></div><div class="clear"><hr></hr></div><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td width="100%"><img height="1" border="0" width="100%" src="./images/header_line.gif"></img></td></tr></table><div id="footer"><div class="xright"><a href="http://www.apache.org/foundation/sponsorship.html">Be an Apache Software Foundation sponsor</a><br><a href="http://www.apache.org/foundation/thanks.html">Thanks to ASF sponsors!</a></br></div><div class="xleft">
                 Documentation published: <br></br>
-                  © 2005-2010 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file
+                  © 2005-2011 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file

Modified: db/jdo/site/docs/transactions.html
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/transactions.html?rev=1090559&r1=1090558&r2=1090559&view=diff
==============================================================================
--- db/jdo/site/docs/transactions.html (original)
+++ db/jdo/site/docs/transactions.html Sat Apr  9 10:16:58 2011
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Java Data Objects (JDO) - Transactions</title><style type="text/css" media="all">
           @import url("./style/maven-base.css");
           
-			    @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><table><tr><td nowrap="true"><a href="http://db.apache.org/jdo" id="projectLogo"><img alt="Java Data Objects (JDO)" src="./images/JDOx120.gif"></img></a><a href="http://db.apache.org/jdo" id="organizationLogo"><img alt="Java Data Objects (JDO)" src="./images/jdo_text.gif"></img></a></td></tr></table><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuGeneral"><h5>General</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="why_jdo.html">Why JDO?</a></li><li class="none"><a href="jdo_v_jpa.html">JDO v JPA</a></li><li class="none"><a href="jdo_v_jpa_api.htm
 l">JDO v JPA : API</a></li><li class="none"><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li><li class="none"><a href="downloads.html">Downloads</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="External Link">License</a></li></ul></div><br></br><div id="menuJDO_Implementation"><h5>JDO Implementation</h5><ul><li class="none"><a href="specifications.html">Specifications</a></li><li class="none"><a href="tck.html">TCK</a></li></ul></div><br></br><div id="menuJDO_Usage"><h5>JDO Usage</h5><ul><li class="none"><a href="impls.html">Implementations</a></li><li class="none"><a href="javadoc.html">API Javadoc</a></li><li class="none"><a href="class_types.html">Types of Classes</a></li><li class="none"><a href="field_types.html">Types of Fields</a></li><li class="collapsed"><a href="metadata.html">MetaData</a></li><li class="none"><a href="enhancement.html">Bytecode Enhancement</a></li><li class="none"><a href="jdohelper.html
 ">JDOHelper</a></li><li class="none"><a href="pmf.html">PersistenceManagerFactory</a></li><li class="none"><a href="pm.html">PersistenceManager</a></li><li class="none"><strong><a href="transactions.html">Transactions</a></strong></li><li class="none"><a href="state_transition.html">Object States</a></li><li class="none"><a href="object_retrieval.html">Object Retrieval</a></li><li class="expanded"><a href="jdoql.html">JDOQL</a><ul><li class="none"><a href="jdoql_result.html">Result</a></li><li class="none"><a href="jdoql_methods.html">Methods</a></li><li class="none"><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li></ul></li><li class="none"><a href="extents.html">Extents</a></li><li class="collapsed"><a href="guides.html">Guides</a></li><li class="none"><a href="references.html">References</a></li><li class="none"><a href="exceptions.html">Exceptions</a></li><li class="none"><a href="glossary.html">Glossary</a></li></ul></div><br></br><div id="menuCommunity"><h5>Community
 </h5><ul><li class="none"><a href="get-involved.html">Get Involved</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="http://wiki.apache.org/jdo" class="externalLink" title="External Link">Wiki</a></li></ul></div><br></br><div id="menuDevelopment"><h5>Development</h5><ul><li class="none"><a href="roadmap.html">RoadMap / TODO</a></li><li class="none"><a href="svn.html">Source Code</a></li><li class="none"><a href="http://cwiki.apache.org/GMOxDEV/coding-standards.html" class="externalLink" title="External Link">Coding Standards</a></li><li class="none"><a href="issuetracking.html">Issue Tracking</a></li><li class="none"><a href="dependencies.html">Dependencies</a></li></ul></div><br></br></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Transactions"></a><h2>Transactions</h2><p>
+			    @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><table><tr><td nowrap="true"><a href="http://db.apache.org/jdo" id="projectLogo"><img alt="Java Data Objects (JDO)" src="./images/JDOx120.gif"></img></a><a href="http://db.apache.org/jdo" id="organizationLogo"><img alt="Java Data Objects (JDO)" src="./images/jdo_text.gif"></img></a></td></tr></table><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuGeneral"><h5>General</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="why_jdo.html">Why JDO?</a></li><li class="none"><a href="jdo_v_jpa.html">JDO v JPA</a></li><li class="none"><a href="jdo_v_jpa_api.htm
 l">JDO v JPA : API</a></li><li class="none"><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li><li class="none"><a href="downloads.html">Downloads</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="External Link">License</a></li></ul></div><br></br><div id="menuJDO_Implementation"><h5>JDO Implementation</h5><ul><li class="none"><a href="specifications.html">Specifications</a></li><li class="none"><a href="tck.html">TCK</a></li></ul></div><br></br><div id="menuJDO_Usage"><h5>JDO Usage</h5><ul><li class="none"><a href="impls.html">Implementations</a></li><li class="none"><a href="javadoc.html">API Javadoc</a></li><li class="none"><a href="class_types.html">Types of Classes</a></li><li class="none"><a href="field_types.html">Types of Fields</a></li><li class="collapsed"><a href="metadata.html">MetaData</a></li><li class="none"><a href="enhancement.html">Bytecode Enhancement</a></li><li class="none"><a href="jdohelper.html
 ">JDOHelper</a></li><li class="none"><a href="pmf.html">PersistenceManagerFactory</a></li><li class="none"><a href="pm.html">PersistenceManager</a></li><li class="none"><strong><a href="transactions.html">Transactions</a></strong></li><li class="none"><a href="attach_detach.html">Attach-Detach</a></li><li class="none"><a href="fetchgroups.html">Fetch Groups</a></li><li class="none"><a href="state_transition.html">Object States</a></li><li class="none"><a href="object_retrieval.html">Object Retrieval</a></li><li class="expanded"><a href="jdoql.html">JDOQL</a><ul><li class="none"><a href="jdoql_result.html">Result</a></li><li class="none"><a href="jdoql_methods.html">Methods</a></li><li class="none"><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li></ul></li><li class="none"><a href="extents.html">Extents</a></li><li class="collapsed"><a href="guides.html">Guides</a></li><li class="none"><a href="references.html">References</a></li><li class="none"><a href="exceptions.html">E
 xceptions</a></li><li class="none"><a href="glossary.html">Glossary</a></li></ul></div><br></br><div id="menuCommunity"><h5>Community</h5><ul><li class="none"><a href="get-involved.html">Get Involved</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="http://wiki.apache.org/jdo" class="externalLink" title="External Link">Wiki</a></li></ul></div><br></br><div id="menuDevelopment"><h5>Development</h5><ul><li class="none"><a href="roadmap.html">RoadMap / TODO</a></li><li class="none"><a href="svn.html">Source Code</a></li><li class="none"><a href="http://cwiki.apache.org/GMOxDEV/coding-standards.html" class="externalLink" title="External Link">Coding Standards</a></li><li class="none"><a href="issuetracking.html">Issue Tracking</a></li><li class="none"><a href="dependencies.html">Dependencies</a></li></ul></div><br></br></
 div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Transactions"></a><h2>Transactions</h2><p>
                 When managing the persistence of objects using a <a href="pm.html">PersistenceManager</a>
                 it is normal to handle all datastore operations in a transaction. For this reason each
                 <i>PersistenceManager</i> has its own transaction. Consequently a typical JDO persistence method
@@ -41,4 +41,4 @@ finally
     <div class="source"><pre>pm.currentTransaction().setOptimistic(true);</pre></div>
   </div></div></div><div class="clear"><hr></hr></div><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td width="100%"><img height="1" border="0" width="100%" src="./images/header_line.gif"></img></td></tr></table><div id="footer"><div class="xright"><a href="http://www.apache.org/foundation/sponsorship.html">Be an Apache Software Foundation sponsor</a><br><a href="http://www.apache.org/foundation/thanks.html">Thanks to ASF sponsors!</a></br></div><div class="xleft">
                 Documentation published: <br></br>
-                  © 2005-2010 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file
+                  © 2005-2011 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file

Modified: db/jdo/site/docs/why_jdo.html
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/why_jdo.html?rev=1090559&r1=1090558&r2=1090559&view=diff
==============================================================================
--- db/jdo/site/docs/why_jdo.html (original)
+++ db/jdo/site/docs/why_jdo.html Sat Apr  9 10:16:58 2011
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Java Data Objects (JDO) - Why JDO ?</title><style type="text/css" media="all">
           @import url("./style/maven-base.css");
           
-			    @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><table><tr><td nowrap="true"><a href="http://db.apache.org/jdo" id="projectLogo"><img alt="Java Data Objects (JDO)" src="./images/JDOx120.gif"></img></a><a href="http://db.apache.org/jdo" id="organizationLogo"><img alt="Java Data Objects (JDO)" src="./images/jdo_text.gif"></img></a></td></tr></table><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuGeneral"><h5>General</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><strong><a href="why_jdo.html">Why JDO?</a></strong></li><li class="none"><a href="jdo_v_jpa.html">JDO v JPA</a></li><li class="none"><a href="
 jdo_v_jpa_api.html">JDO v JPA : API</a></li><li class="none"><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li><li class="none"><a href="downloads.html">Downloads</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="External Link">License</a></li></ul></div><br></br><div id="menuJDO_Implementation"><h5>JDO Implementation</h5><ul><li class="none"><a href="specifications.html">Specifications</a></li><li class="none"><a href="tck.html">TCK</a></li></ul></div><br></br><div id="menuJDO_Usage"><h5>JDO Usage</h5><ul><li class="none"><a href="impls.html">Implementations</a></li><li class="none"><a href="javadoc.html">API Javadoc</a></li><li class="none"><a href="class_types.html">Types of Classes</a></li><li class="none"><a href="field_types.html">Types of Fields</a></li><li class="collapsed"><a href="metadata.html">MetaData</a></li><li class="none"><a href="enhancement.html">Bytecode Enhancement</a></li><li class="none"><a hre
 f="jdohelper.html">JDOHelper</a></li><li class="none"><a href="pmf.html">PersistenceManagerFactory</a></li><li class="none"><a href="pm.html">PersistenceManager</a></li><li class="none"><a href="transactions.html">Transactions</a></li><li class="none"><a href="state_transition.html">Object States</a></li><li class="none"><a href="object_retrieval.html">Object Retrieval</a></li><li class="expanded"><a href="jdoql.html">JDOQL</a><ul><li class="none"><a href="jdoql_result.html">Result</a></li><li class="none"><a href="jdoql_methods.html">Methods</a></li><li class="none"><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li></ul></li><li class="none"><a href="extents.html">Extents</a></li><li class="collapsed"><a href="guides.html">Guides</a></li><li class="none"><a href="references.html">References</a></li><li class="none"><a href="exceptions.html">Exceptions</a></li><li class="none"><a href="glossary.html">Glossary</a></li></ul></div><br></br><div id="menuCommunity"><h5>Community
 </h5><ul><li class="none"><a href="get-involved.html">Get Involved</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="http://wiki.apache.org/jdo" class="externalLink" title="External Link">Wiki</a></li></ul></div><br></br><div id="menuDevelopment"><h5>Development</h5><ul><li class="none"><a href="roadmap.html">RoadMap / TODO</a></li><li class="none"><a href="svn.html">Source Code</a></li><li class="none"><a href="http://cwiki.apache.org/GMOxDEV/coding-standards.html" class="externalLink" title="External Link">Coding Standards</a></li><li class="none"><a href="issuetracking.html">Issue Tracking</a></li><li class="none"><a href="dependencies.html">Dependencies</a></li></ul></div><br></br></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Why_JDO__"></a><h2>Why JDO ?</h2><p>
+			    @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><table><tr><td nowrap="true"><a href="http://db.apache.org/jdo" id="projectLogo"><img alt="Java Data Objects (JDO)" src="./images/JDOx120.gif"></img></a><a href="http://db.apache.org/jdo" id="organizationLogo"><img alt="Java Data Objects (JDO)" src="./images/jdo_text.gif"></img></a></td></tr></table><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuGeneral"><h5>General</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><strong><a href="why_jdo.html">Why JDO?</a></strong></li><li class="none"><a href="jdo_v_jpa.html">JDO v JPA</a></li><li class="none"><a href="
 jdo_v_jpa_api.html">JDO v JPA : API</a></li><li class="none"><a href="jdo_v_jpa_orm.html">JDO v JPA : ORM</a></li><li class="none"><a href="downloads.html">Downloads</a></li><li class="none"><a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="External Link">License</a></li></ul></div><br></br><div id="menuJDO_Implementation"><h5>JDO Implementation</h5><ul><li class="none"><a href="specifications.html">Specifications</a></li><li class="none"><a href="tck.html">TCK</a></li></ul></div><br></br><div id="menuJDO_Usage"><h5>JDO Usage</h5><ul><li class="none"><a href="impls.html">Implementations</a></li><li class="none"><a href="javadoc.html">API Javadoc</a></li><li class="none"><a href="class_types.html">Types of Classes</a></li><li class="none"><a href="field_types.html">Types of Fields</a></li><li class="collapsed"><a href="metadata.html">MetaData</a></li><li class="none"><a href="enhancement.html">Bytecode Enhancement</a></li><li class="none"><a hre
 f="jdohelper.html">JDOHelper</a></li><li class="none"><a href="pmf.html">PersistenceManagerFactory</a></li><li class="none"><a href="pm.html">PersistenceManager</a></li><li class="none"><a href="transactions.html">Transactions</a></li><li class="none"><a href="attach_detach.html">Attach-Detach</a></li><li class="none"><a href="fetchgroups.html">Fetch Groups</a></li><li class="none"><a href="state_transition.html">Object States</a></li><li class="none"><a href="object_retrieval.html">Object Retrieval</a></li><li class="expanded"><a href="jdoql.html">JDOQL</a><ul><li class="none"><a href="jdoql_result.html">Result</a></li><li class="none"><a href="jdoql_methods.html">Methods</a></li><li class="none"><a href="jdoql_quickref.pdf">Quick Ref PDF</a></li></ul></li><li class="none"><a href="extents.html">Extents</a></li><li class="collapsed"><a href="guides.html">Guides</a></li><li class="none"><a href="references.html">References</a></li><li class="none"><a href="exceptions.html">E
 xceptions</a></li><li class="none"><a href="glossary.html">Glossary</a></li></ul></div><br></br><div id="menuCommunity"><h5>Community</h5><ul><li class="none"><a href="get-involved.html">Get Involved</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="http://wiki.apache.org/jdo" class="externalLink" title="External Link">Wiki</a></li></ul></div><br></br><div id="menuDevelopment"><h5>Development</h5><ul><li class="none"><a href="roadmap.html">RoadMap / TODO</a></li><li class="none"><a href="svn.html">Source Code</a></li><li class="none"><a href="http://cwiki.apache.org/GMOxDEV/coding-standards.html" class="externalLink" title="External Link">Coding Standards</a></li><li class="none"><a href="issuetracking.html">Issue Tracking</a></li><li class="none"><a href="dependencies.html">Dependencies</a></li></ul></div><br></br></
 div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Why_JDO__"></a><h2>Why JDO ?</h2><p>
                 The majority of applications need to persist (or store) data during their lifecycle. 
                 There are many ways of doing this with an application written in Java.
             </p><ul>
@@ -36,4 +36,4 @@
                 <li>requires the developer to write this layer.</li>
             </ol></div></div></div><div class="clear"><hr></hr></div><table border="0" width="100%" cellpadding="0" cellspacing="0"><tr><td width="100%"><img height="1" border="0" width="100%" src="./images/header_line.gif"></img></td></tr></table><div id="footer"><div class="xright"><a href="http://www.apache.org/foundation/sponsorship.html">Be an Apache Software Foundation sponsor</a><br><a href="http://www.apache.org/foundation/thanks.html">Thanks to ASF sponsors!</a></br></div><div class="xleft">
                 Documentation published: <br></br>
-                  © 2005-2010 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file
+                  © 2005-2011 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file

Added: db/jdo/site/xdocs/attach_detach.xml
URL: http://svn.apache.org/viewvc/db/jdo/site/xdocs/attach_detach.xml?rev=1090559&view=auto
==============================================================================
--- db/jdo/site/xdocs/attach_detach.xml (added)
+++ db/jdo/site/xdocs/attach_detach.xml Sat Apr  9 10:16:58 2011
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<document>
+    <properties>
+        <title>Attach/Detach</title>
+    </properties>
+
+    <body>
+        <section name="JDO Attach/Detach">
+            <p>
+                JDO provides an interface to the persistence of objects. JDO 1.0 doesn'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 <B>detaching</B> an object from the 
+                persistence graph, allowing it to be worked on in the users application. It can then be 
+                <B>attached</B> 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>
+            <source>&lt;class name="MyClass" detachable="true"&gt;</source>
+            <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>
+
+            <p>
+                The following code fragment highlights how to use the attach/detach mechanism
+            </p>
+            <source>
+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();
+    }
+}</source>
+            <p>
+                So we now don'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 
+                <I>attach/detach</I> :-
+            </p>
+            <ul>
+                <li>Calling <i>detachCopy</i> on an object that is not detachable will return a <b>transient</b> 
+                    instance that is a COPY of the original, so use the COPY thereafter.</li>
+                <li>Calling <i>detachCopy</i> on an object that is detachable will return a <b>detached</b> 
+                    instance that is a COPY of the original, so use this COPY thereafter</li>
+                <li>A <I>detached</I> 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 <I>makeTransient</I> instead of <I>detachCopy</I>.</li>
+                <li>Calling <I>detachCopy</I> will detach all fields of that object that are in the current 
+                    <a href="fetchgroups.html">Fetch Group</a> for that class for that <I>PersistenceManager</I>.</li>
+                <li>By default the fields of the object that will be detached are those in the <I>Default Fetch Group</I>.</li>
+                <li>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.</li>
+                <li>If you don't detach a field of an object, you <u>cannot</u> access the value for that field while
+                    the object is detached.</li>
+                <li>If you don't detach a field of an object, you <u>can</u> update the value for that field while detached,
+                    and thereafter you can access the value for that field.</li>
+                <li>Calling <I>makePersistent</I> 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.</li>
+            </ul>
+
+            <a name="detach_all_on_commit"/>
+            <subsection name="Detach All On Commit">
+                <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 <I>PersistenceManager</I>s (PMs) from a 
+                    <I>PersistenceManagerFactory</I> (PMF) you could either set the PMF property 
+                    "datanucleus.DetachAllOnCommit", or you could create your PMF and call the PMF method 
+                    <B>setDetachAllOnCommit(true)</B>. 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
+                    <B>setDetachAllOnCommit(true)</B> before the commit of the transaction, and it will apply for all
+                    transaction commits thereafter, until turned off (<B>setDetachAllOnCommit(false)</B>. 
+                    Here's an example
+                </p>
+                <source>
+// 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();
+    }
+}</source>
+                <br/>
+            </subsection>
+
+            <a name="copy_on_attach"/>
+            <subsection name="Copy On Attach">
+                <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>
+                <p>
+                    You enable this by setting the <I>PersistenceManagerFactory</I> (PMF) property
+                    <B>datanucleus.CopyOnAttach</B> to false. Alternatively you can use the methods
+                    <i>PersistenceManagerFactory.setCopyOnAttach(boolean flag)</i> or
+                    <i>PersistenceManager.setCopyOnAttach(boolean flag)</i>.
+                    If we return to the example at the start of this page, this now becomes
+                </p>
+                <source><![CDATA[
+// 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();
+    }
+}]]></source>
+                <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>
+                <br/>
+            </subsection>
+
+            <subsection name="Serialization of Detachable classes">
+                <p>
+                    During enhancement of Detachable classes, a field called <i>jdoDetachedState</i> 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>
+                <p>
+                    When serialization occurs on a Detachable object, the <i>jdoDetachedState</i> 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>
+                <p>
+                    Serialization and deserialization of Detachable classes and un-enhanced versions of the same 
+                    class is only possible if the field <i>serialVersionUID</i> is added. It's recommended during 
+                    development of the class, to define the <i>serialVersionUID</i> and make the class to implement
+                    the <i>java.io.Serializable</i> interface, as the following example:
+                </p>
+<source>
+class MyClass implements java.io.Serializable
+{
+    private static final long serialVersionUID = 2765740961462495537L; // any random value here
+    
+    //.... other fields
+}
+</source>                        
+                <br/>
+            </subsection>
+        </section>
+
+    </body>
+</document>

Added: db/jdo/site/xdocs/fetchgroups.xml
URL: http://svn.apache.org/viewvc/db/jdo/site/xdocs/fetchgroups.xml?rev=1090559&view=auto
==============================================================================
--- db/jdo/site/xdocs/fetchgroups.xml (added)
+++ db/jdo/site/xdocs/fetchgroups.xml Sat Apr  9 10:16:58 2011
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<document>
+    <properties>
+        <title>Fetch-Groups</title>
+    </properties>
+
+    <body>
+        <section name="Fetch Groups">
+            <p>
+                When an object is retrieved from the datastore by JDO typically not all fields are retrieved immediately.
+                This is because for efficiency purposes only particular field types are retrieved in the initial access 
+                of the object, and then any other objects are retrieved when accessed (lazy loading). 
+                The group of fields that are loaded is called a <B>fetch group</B>.
+                There are 3 types of "fetch groups" to consider
+            </p>
+            <ul>
+                <li><a href="#dfg">Default Fetch Group</a> : defined in all JDO specs, containing the fields 
+                    of a class that will be retrieved by default (with no user specification).</li>
+                <li><a href="#static">Named Fetch Groups</a> : defined by the JDO2 specification, and defined
+                    in MetaData (XML/annotations) with the fields of a class that are part of that fetch group.
+                    The definition here is <i>static</i></li>
+                <li><a href="#dynamic">Dynamic Fetch Groups</a> : Programmatic definition of fetch groups at 
+                    runtime via an API</li>
+            </ul>
+            <p>
+                The <B>fetch group</B> in use for a class is controled via the <I>FetchPlan</I>
+                <a href="http://db.apache.org/jdo/api20/apidocs/javax/jdo/FetchPlan.html" target="_blank"><IMG SRC="images/javadoc.gif"/></a>
+                interface. To get a handle on the current <I>FetchPlan</I> we do
+            </p>
+            <source>FetchPlan fp = pm.getFetchPlan();</source>
+            <br/>
+
+            <a name="dfg"/>
+            <subsection name="Default Fetch Group">
+                <p>
+                    JDO provides an initial fetch group, comprising the fields that will be retrieved when an object 
+                    is retrieved if the user does nothing to define the required behaviour. By default the <I>default 
+                    fetch group</I> comprises all fields of the following types :-
+                </p>
+                <ul>
+                    <li>primitives : boolean, byte, char, double, float, int, long, short</li>
+                    <li>Object wrappers of primitives : Boolean, Byte, Character, Double, Float, Integer, Long, Short</li>
+                    <li>java.lang.String, java.lang.Number, java.lang.Enum</li>
+                    <li>java.math.BigDecimal, java.math.BigInteger</li>
+                    <li>java.util.Date</li>
+                </ul>
+                <p>
+                    If you wish to change the <B>Default Fetch Group</B> for a class you can update the Meta-Data 
+                    for the class as follows (for XML)
+                </p>
+                <source><![CDATA[
+<class name="MyClass">
+    ...
+    <field name="fieldX" default-fetch-group="true"/>
+</class>]]></source>
+                <p>or using annotations</p>
+                <source><![CDATA[
+@Persistent(defaultFetchGroup="true")
+SomeType fieldX;]]></source>
+                <p>
+                    When a <I>PersistenceManager</I> is created it starts with a FetchPlan of the "default" fetch group. 
+                    That is, if we call
+                </p>
+                <source>Collection fetchGroups = fp.getGroups();</source>
+                <p>
+                    this will have one group, called "default". At runtime, if you have been using other 
+                    fetch groups and want to revert back to the default fetch group at any time you simply do
+                </p>
+                <source>fp.setGroup(FetchPlan.DEFAULT);</source>
+                <br/>
+            </subsection>
+
+            <a name="static"/>
+            <subsection name="Named Fetch Groups">
+                <p>
+                    As mentioned above, JDO allows specification of users own fetch groups. These are specified in the 
+                    MetaData of the class. For example, if we have the following class
+                </p>
+                <source>
+class MyClass
+{
+    String name;
+    HashSet coll;
+    MyOtherClass other;
+}</source>
+                <p>
+                    and we want to have the <U>other</U> field loaded whenever we load objects of this class, we define 
+                    our MetaData as
+                </p>
+                <source><![CDATA[
+<package name="mydomain">
+    <class name="MyClass">
+        <field name="name">
+            <column length="100" jdbc-type="VARCHAR"/>
+        </field>
+        <field name="coll" persistence-modifier="persistent">
+            <collection element-type="mydomain.Address"/>
+            <join/>
+        </field>
+        <field name="other" persistence-modifier="persistent"/>
+        <fetch-group name="otherfield">
+            <field name="other"/>
+        </fetch-group>
+    </class>
+</package>]]></source>
+                <p>or using annotations</p>
+                <source><![CDATA[
+@PersistenceCapable
+@FetchGroup(name="otherfield", members={@Persistent(name="other")})
+public class MyClass
+{
+    ...
+}]]></source>
+                <p>
+                    So we have defined a fetch group called "otherfield" that just includes the field with name 
+                    <I>other</I>. We can then use this at runtime in our persistence code.
+                </p>
+                <source>
+PersistenceManager pm = pmf.getPersistenceManager();
+pm.getFetchPlan().addGroup("otherfield");
+
+... (load MyClass object)</source>
+                <p>
+                    By default the <I>FetchPlan</I> will include the default fetch group. We have changed this above by
+                    <U>adding</U> the fetch group "otherfield", so when we retrieve an object using this 
+                    <I>PersistenceManager</I> we will be retrieving the fields <I>name</I> AND <I>other</I> since they
+                    are both in the current <I>FetchPlan</I>. We can take the above much further than what is shown by 
+                    defining nested fetch groups in the MetaData. In addition we can change the <I>FetchPlan</I> just
+                    before any <I>PersistenceManager</I> operation to control what is fetched during that operation.
+                    The user has full flexibility to add many groups to the current <B>Fetch Plan</B>.
+                    This gives much power and control over what will be loaded and when.
+                </p>
+                <p>
+                    The <I>FetchPlan</I> applies not just to calls to <I>PersistenceManager.getObjectById()</I>, but also
+                    to <I>PersistenceManager.newQuery()</I>, <I>PersistenceManager.getExtent()</I>, 
+                    <I>PersistenceManager.detachCopy</I> and much more besides.
+                </p>
+                <p>
+                    You can read more about <B>named fetch-groups</B> and how to use it with 
+                    <a href="attach_detach.html"><B>attach/detach</B></a>
+                </p>
+            </subsection>
+
+            <a name="dynamic"/>
+            <subsection name="Dynamic Fetch Groups">
+                <p>
+                    The mechanism above provides static fetch groups defined in XML or annotations. 
+                    That is great when you know in advance what fields you want to fetch. In some situations 
+                    you may want to define your fields to fetch at run time. This became standard in JDO2.2
+                    It operates as follows
+                </p>
+                <source>
+import org.datanucleus.FetchGroup;
+
+// Create a FetchGroup on the PMF called "TestGroup" for MyClass
+FetchGroup grp = myPMF.getFetchGroup("TestGroup", MyClass.class);
+grp.addMember("field1").addMember("field2");
+
+// Add this group to the fetch plan (using its name)
+fp.addGroup("TestGroup");</source>
+                <p>
+                    So we use the DataNucleus PMF as a way of creating a FetchGroup, and then register that 
+                    FetchGroup with the PMF for use by all PMs. We then enable our FetchGroup for use in the
+                    FetchPlan by using its group name (as we do for a static group). The FetchGroup allows you 
+                    to add/remove the fields necessary so you have full API control over the fields to be 
+                    fetched.
+                </p>
+                <br/>
+            </subsection>
+
+            <subsection name="Fetch Depth">
+                <p>
+                    The basic fetch group defines which fields are to be fetched. It doesn't explicitly define how far 
+                    down an object graph is to be fetched. JDO provides two ways of controlling this.
+                </p>
+                <p>
+                    The first is to set the <B>maxFetchDepth</B> for the <I>FetchPlan</I>. This value specifies how 
+                    far out from the root object the related objects will be fetched. A positive value means that 
+                    this number of relationships will be  traversed from the root object. A value of -1 means that 
+                    no limit will be placed on the fetching traversal. The default is 1. Let's take an example
+                </p>
+                <source><![CDATA[
+public class MyClass1
+{
+    MyClass2 field1;
+    ...
+}
+
+public class MyClass2
+{
+    MyClass3 field2;
+    ...
+}
+
+public class MyClass3
+{
+    MyClass4 field3;
+    ...
+}]]></source>
+                <p>
+                    and we want to detach <I>field1</I> of instances of <I>MyClass1</I>, down 2 levels - so detaching 
+                    the initial "field1" <I>MyClass2</I> object, and its "field2" <I>MyClass3</I> instance. So we 
+                    define our fetch-groups like this
+                </p>
+                <source><![CDATA[
+<class name="MyClass1">
+    ...
+    <fetch-group name="includingField1">
+        <field name="field1"/>
+    </fetch-group>
+</class>
+<class name="MyClass2">
+    ...
+    <fetch-group name="includingField2">
+        <field name="field2"/>
+    </fetch-group>
+</class>]]></source>
+                <p>
+                    and we then define the <B>maxFetchDepth</B> as 2, like this
+                </p>
+                <source>pm.getFetchPlan().setMaxFetchDepth(2);</source>
+                <p>
+                    A further refinement to this global fetch depth setting is to control the fetching of recursive 
+                    fields. This is performed via a MetaData setting "recursion-depth". A value of 1 means that only 
+                    1 level of objects will be fetched. A value of -1 means there is no limit on the amount of recursion. 
+                    The default is 1. Let's take an example
+                </p>
+                <source>
+public class Directory
+{
+    Collection children;
+    ...
+}</source>
+                <source><![CDATA[
+<class name="Directory">
+    <field name="children">
+        <collection element-type="Directory"/>
+    </field>
+
+    <fetch-group name="grandchildren">
+        <field name="children" recursion-depth="2"/>
+    </fetch-group>
+    ...
+</class>]]></source>
+                <p>
+                    So when we fetch a Directory, it will fetch 2 levels of the <I>children</I> field, hence fetching 
+                    the children and the grandchildren.
+                </p>
+            </subsection>
+
+            <subsection name="Fetch Size">
+                <p>
+                    A FetchPlan can also be used for defining the fetching policy when using queries. This can be 
+                    set using
+                </p>
+                <source>pm.getFetchPlan().setFetchSize(value);</source>
+                <p>
+                    The default is <I>FetchPlan.FETCH_SIZE_OPTIMAL</I> which leaves it to DataNucleus to optimise the fetching
+                    of instances. A positive value defines the number of instances to be fetched. Using 
+                    <I>FetchPlan.FETCH_SIZE_GREEDY</I> means that all instances will be fetched immediately.
+                </p>
+            </subsection>
+        </section>
+    </body>
+</document>

Modified: db/jdo/site/xdocs/navigation.xml
URL: http://svn.apache.org/viewvc/db/jdo/site/xdocs/navigation.xml?rev=1090559&r1=1090558&r2=1090559&view=diff
==============================================================================
--- db/jdo/site/xdocs/navigation.xml (original)
+++ db/jdo/site/xdocs/navigation.xml Sat Apr  9 10:16:58 2011
@@ -33,6 +33,8 @@
             <item name="PersistenceManagerFactory" href="/pmf.html"/>
             <item name="PersistenceManager" href="/pm.html"/>
             <item name="Transactions" href="/transactions.html"/>
+            <item name="Attach-Detach" href="/attach_detach.html"/>
+            <item name="Fetch Groups" href="/fetchgroups.html"/>
             <item name="Object States" href="/state_transition.html"/>
             <item name="Object Retrieval" href="/object_retrieval.html"/>
             <item name="JDOQL" href="/jdoql.html" collapse="false">