Modified: websites/production/db/content/jdo/jdo_v_jpa.html
==============================================================================
--- websites/production/db/content/jdo/jdo_v_jpa.html (original)
+++ websites/production/db/content/jdo/jdo_v_jpa.html Tue Jan 15 06:29:01 2013
@@ -1,36 +1,423 @@
-<!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) - JDO .v. JPA</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="keywords" content="JPA,EJB3,JDO,ORM"></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"><strong><a href="jdo_v_jpa.htm
 l">JDO v JPA</a></strong></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.ht
 ml">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">Referen
 ces</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="menuArticles"><h5>Articles</h5><ul><li class="none"><a 
href="jdo_3_0_overview.html">JDO 3.0 Overview</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="Ext
 ernal 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="Which_Persistence_Specification__"></a><h2>Which Persistence 
Specification ?</h2><p>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.3 at Jan 15, 2013 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Maven - 
+        JDO .v. JPA</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" 
media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20130115" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="./" id="bannerLeft">
+                                                <img src="images/JDOx150.gif" 
alt="Apache JDO" />
+                </a>
+                                            <a href="./" id="bannerRight">
+                                                <img src="images/jdo_text.gif" 
alt="Apache JDO" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                    
+                  <div class="xright">                    <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="api30/apidocs/index.html" title="Latest 
Javadocs">Latest Javadocs</a>
+              
+                    
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                    
+                                <h5>General</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" title="Home">Home</a>
+            </li>
+                  <li class="none">
+                          <a href="why_jdo.html" title="Why JDO?">Why JDO?</a>
+            </li>
+                  <li class="none">
+            <strong>JDO v JPA</strong>
+          </li>
+                  <li class="none">
+                          <a href="jdo_v_jpa_api.html" title="JDO v JPA : 
API">JDO v JPA : API</a>
+            </li>
+                  <li class="none">
+                          <a href="jdo_v_jpa_orm.html" title="JDO v JPA : 
ORM">JDO v JPA : ORM</a>
+            </li>
+                  <li class="none">
+                          <a href="downloads.html" 
title="Downloads">Downloads</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/licenses/LICENSE-2.0"; 
class="externalLink" title="License">License</a>
+            </li>
+          </ul>
+                       <h5>JDO Implementation</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="specifications.html" 
title="Specifications">Specifications</a>
+            </li>
+                  <li class="none">
+                          <a href="tck.html" title="TCK">TCK</a>
+            </li>
+          </ul>
+                       <h5>JDO Usage</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="impls.html" 
title="Implementations">Implementations</a>
+            </li>
+                  <li class="none">
+                          <a href="javadoc.html" title="API Javadoc">API 
Javadoc</a>
+            </li>
+                  <li class="none">
+                          <a href="class_types.html" title="Types of 
Classes">Types of Classes</a>
+            </li>
+                  <li class="none">
+                          <a href="field_types.html" title="Types of 
Fields">Types of Fields</a>
+            </li>
+                                                                               
                                           <li class="collapsed">
+                          <a href="metadata.html" title="MetaData">MetaData</a>
+                  </li>
+                  <li class="none">
+                          <a href="enhancement.html" title="Bytecode 
Enhancement">Bytecode Enhancement</a>
+            </li>
+                  <li class="none">
+                          <a href="jdohelper.html" 
title="JDOHelper">JDOHelper</a>
+            </li>
+                  <li class="none">
+                          <a href="pmf.html" 
title="PersistenceManagerFactory">PersistenceManagerFactory</a>
+            </li>
+                  <li class="none">
+                          <a href="pm.html" 
title="PersistenceManager">PersistenceManager</a>
+            </li>
+                  <li class="none">
+                          <a href="transactions.html" 
title="Transactions">Transactions</a>
+            </li>
+                  <li class="none">
+                          <a href="attach_detach.html" 
title="Attach-Detach">Attach-Detach</a>
+            </li>
+                  <li class="none">
+                          <a href="fetchgroups.html" title="Fetch 
Groups">Fetch Groups</a>
+            </li>
+                  <li class="none">
+                          <a href="state_transition.html" title="Object 
States">Object States</a>
+            </li>
+                  <li class="none">
+                          <a href="object_retrieval.html" title="Object 
Retrieval">Object Retrieval</a>
+            </li>
+                                                                               
                   <li class="expanded">
+                          <a href="jdoql.html" title="JDOQL">JDOQL</a>
+                    <ul>
+                      <li class="none">
+                          <a href="jdoql_result.html" title="Result">Result</a>
+            </li>
+                      <li class="none">
+                          <a href="jdoql_methods.html" 
title="Methods">Methods</a>
+            </li>
+                      <li class="none">
+                          <a href="jdoql_quickref.pdf" title="Quick Ref 
PDF">Quick Ref PDF</a>
+            </li>
+              </ul>
+        </li>
+                  <li class="none">
+                          <a href="extents.html" title="Extents">Extents</a>
+            </li>
+                                                                               
       <li class="collapsed">
+                          <a href="guides.html" title="Guides">Guides</a>
+                  </li>
+                  <li class="none">
+                          <a href="references.html" 
title="References">References</a>
+            </li>
+                  <li class="none">
+                          <a href="exceptions.html" 
title="Exceptions">Exceptions</a>
+            </li>
+                  <li class="none">
+                          <a href="glossary.html" title="Glossary">Glossary</a>
+            </li>
+          </ul>
+                       <h5>Articles</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="jdo_3_0_overview.html" title="JDO 3.0 
Overview">JDO 3.0 Overview</a>
+            </li>
+          </ul>
+                       <h5>Community</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="get-involved.html" title="Get Involved">Get 
Involved</a>
+            </li>
+                  <li class="none">
+                          <a href="team-list.html" title="Project 
Team">Project Team</a>
+            </li>
+                  <li class="none">
+                          <a href="mail-lists.html" title="Mailing 
Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="faq.html" title="FAQ">FAQ</a>
+            </li>
+          </ul>
+                       <h5>Development</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="roadmap.html" title="RoadMap / 
TODO">RoadMap / TODO</a>
+            </li>
+                  <li class="none">
+                          <a href="svn.html" title="Source Code">Source 
Code</a>
+            </li>
+                  <li class="none">
+                          <a 
href="http://cwiki.apache.org/GMOxDEV/coding-standards.html"; 
class="externalLink" title="Coding Standards">Coding Standards</a>
+            </li>
+                  <li class="none">
+                          <a href="issuetracking.html" title="Issue 
Tracking">Issue Tracking</a>
+            </li>
+                  <li class="none">
+                          <a href="dependencies.html" 
title="Dependencies">Dependencies</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/"; title="Built 
by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="./images/logos/maven-feather.png" />
+      </a>
+                   
+                    
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+    
+        <div class="section"><h2>Which Persistence Specification ?<a 
name="Which_Persistence_Specification_"></a></h2>
+            <p>
                 There are several competing persistence technologies available 
for Java. 
-                               Two of these are "standardised" (via the JCP). 
When developing your application you need 
-                               to choose the most appropriate technology for 
your needs. <B>Java Data Objects (JDO)</B> 
+                               Two of these are &quot;standardised&quot; (via 
the JCP). When developing your application you need 
+                               to choose the most appropriate technology for 
your needs. <b>Java Data Objects (JDO)</b> 
                                has been a standard since 2001 with the release 
of JDO1. It was improved with the release 
-                               of JDO2. Just to confuse issues the <B>Java 
Persistence API (JPA)</B> was approved 
+                               of JDO2. Just to confuse issues the <b>Java 
Persistence API (JPA)</b> was approved 
                                in its JPA1 form, and JDO2.1/JDO2.2 provide 
updates to JDO2 building on some of the new 
                 features of JPA1. Since then we have had JDO3 adding on extra 
metadata and enhancer
                 standardisation, and JPA2 providing criteria queries. 
                 Below we show some of the differences of these 2 standards to 
give you 
                 assistance in selecting what you need. Highlighted in bold are 
the notable differences where one 
                 specification provides something not available in the other.
-            </p><table class="bodyTable"><tr class="a"><th 
width="20%">Feature</th><th width="40%">JDO</th><th 
width="40%">JPA</th></tr><tr class="b"><td>JDK 
Requirement</td><td><B>1.3+</B></td><td>1.5+</td></tr><tr 
class="a"><td>Usage</td><td>J2EE, J2SE</td><td>J2EE, J2SE</td></tr><tr 
class="b"><td>Persistence specification mechanism</td><td>XML, Annotations, 
<b>API</b></td><td>XML, Annotations</td></tr><tr class="a"><td>Datastore 
supported</td><td><B>Any</B></td><td>RDBMS only</td></tr><tr 
class="b"><td>Restrictions on persisted classes</td><td><B>no-arg constructor 
(could be added by compiler/enhancer)</B></td><td>No final classes. No final 
methods. Non-private no-arg constructor. Identity Field.
-                                           Version Field.</td></tr><tr 
class="a"><td>Ability to persist "transient" 
fields</td><td><B>Yes</B></td><td>No</td></tr><tr class="b"><td>Persist 
static/final fields</td><td>No</td><td>Not specified</td></tr><tr 
class="a"><td>Transactions</td><td><B>Pessimistic</B>, 
Optimistic</td><td>Optimistic, some locking</td></tr><tr class="b"><td>Object 
Identity</td><td><B>datastore-identity</B>, 
application-identity</td><td>application-identity</td></tr><tr 
class="a"><td>Object Identity generation</td><td>Sequence, Table, Identity, 
Auto, <B>UUID String, UUID Hex</B></td><td>Sequence, Table, Identity, 
Auto</td></tr><tr class="b"><td>Change objects identity</td><td><B>Throw 
exception when not allowed</B></td><td>Undefined !!</td></tr><tr 
class="a"><td>Supported types</td><td>Java primitive types, wrappers of 
primitive types, java.lang.String, <B>java.lang.Number</B>, 
java.math.BigInteger, java.math.BigDecimal,
-                        <B>java.util.Currency, java.util.Locale</B>, 
java.util.Date, java.sql.Time, java.sql.Date, java.sql.Timestamp, 
java.io.Serializable,
-                        <B>boolean[]</B>, byte[], char[], <B>double[], 
float[], int[], long[], short[]</B>,
-                        <B>java.lang.Object</B>, <B>interface</B>,
-                        <B>Boolean[]</B>, Byte[], Character[], <B>Double[], 
Float[], Integer[], Long[], Short[], BigDecimal[], BigInteger[], String[]</B>,
-                        <B>PersistenceCapable[]</B>, <B>interface[]</B>, 
<B>Object[]</B>, Enums,
+            </p>
+            <table border="0" class="bodyTable">
+                <tr class="a">
+                    <th width="20%">Feature</th>
+                    <th width="40%">JDO</th>
+                    <th width="40%">JPA</th>
+                </tr>
+                <tr class="b">
+                    <td>JDK Requirement</td>
+                    <td><b>1.3+</b></td>
+                    <td>1.5+</td>
+                </tr>
+                <tr class="a">
+                    <td>Usage</td>
+                    <td>J2EE, J2SE</td>
+                    <td>J2EE, J2SE</td>
+                </tr>
+                <tr class="b">
+                    <td>Persistence specification mechanism</td>
+                    <td>XML, Annotations, <b>API</b></td>
+                    <td>XML, Annotations</td>
+                </tr>
+                <tr class="a">
+                    <td>Datastore supported</td>
+                    <td><b>Any</b></td>
+                    <td>RDBMS only</td>
+                </tr>
+                <tr class="b">
+                    <td>Restrictions on persisted classes</td>
+                    <td><b>no-arg constructor (could be added by 
compiler/enhancer)</b></td>
+                    <td>No final classes. No final methods. Non-private no-arg 
constructor. Identity Field.
+                                           Version Field.</td>
+                </tr>
+                <tr class="a">
+                    <td>Ability to persist &quot;transient&quot; fields</td>
+                    <td><b>Yes</b></td>
+                    <td>No</td>
+                </tr>
+                <tr class="b">
+                    <td>Persist static/final fields</td>
+                    <td>No</td>
+                    <td>Not specified</td>
+                </tr>
+                <tr class="a">
+                    <td>Transactions</td>
+                    <td><b>Pessimistic</b>, Optimistic</td>
+                    <td>Optimistic, some locking</td>
+                </tr>
+                <tr class="b">
+                    <td>Object Identity</td>
+                    <td><b>datastore-identity</b>, application-identity</td>
+                    <td>application-identity</td>
+                </tr>
+                <tr class="a">
+                    <td>Object Identity generation</td>
+                    <td>Sequence, Table, Identity, Auto, <b>UUID String, UUID 
Hex</b></td>
+                    <td>Sequence, Table, Identity, Auto</td>
+                </tr>
+                <tr class="b">
+                    <td>Change objects identity</td>
+                    <td><b>Throw exception when not allowed</b></td>
+                    <td>Undefined !!</td>
+                </tr>
+                <tr class="a">
+                    <td>Supported types</td>
+                    <td>Java primitive types, wrappers of primitive types, 
java.lang.String, <b>java.lang.Number</b>, java.math.BigInteger, 
java.math.BigDecimal,
+                        <b>java.util.Currency, java.util.Locale</b>, 
java.util.Date, java.sql.Time, java.sql.Date, java.sql.Timestamp, 
java.io.Serializable,
+                        <b>boolean[]</b>, byte[], char[], <b>double[], 
float[], int[], long[], short[]</b>,
+                        <b>java.lang.Object</b>, <b>interface</b>,
+                        <b>Boolean[]</b>, Byte[], Character[], <b>Double[], 
Float[], Integer[], Long[], Short[], BigDecimal[], BigInteger[], String[]</b>,
+                        <b>PersistenceCapable[]</b>, <b>interface[]</b>, 
<b>Object[]</b>, Enums,
                         java.util.Collection, java.util.Set, java.util.List, 
java.util.Map,
-                        <B>Collection/List/Map of simple types</B>, 
<B>Collection/List/Map of reference (interface/Object) types</B>,
+                        <b>Collection/List/Map of simple types</b>, 
<b>Collection/List/Map of reference (interface/Object) types</b>,
                         Collection/List/Map of persistable types
-                    </td><td>Java primitive types, wrappers of the primitive 
types, java.lang.String, java.math.BigInteger, java.math.BigDecimal, 
-                        java.util.Date, <B>java.util.Calendar</B>, 
java.sql.Date, java.sql.Time, java.sql.Timestamp, java.io.Serializable,
+                    </td>
+                    <td>Java primitive types, wrappers of the primitive types, 
java.lang.String, java.math.BigInteger, java.math.BigDecimal, 
+                        java.util.Date, <b>java.util.Calendar</b>, 
java.sql.Date, java.sql.Time, java.sql.Timestamp, java.io.Serializable,
                         byte[], Byte[], char[], Character[], Enums,
                         java.util.Collection, java.util.Set, java.util.List, 
java.util.Map
-                        Collection/List/Map of persistable types</td></tr><tr 
class="b"><td>Embedded Fields</td><td>Embedded persistent objects, <B>Embedded 
Collections, Embedded Maps</B></td><td>Embedded persistent objects</td></tr><tr 
class="a"><td>Access a non-detached field</td><td><B>Throw 
exception</B></td><td>Undefined !!</td></tr><tr 
class="b"><td>Inheritance</td><td><B>Each class has its own 
strategy</B></td><td>Root class defines the strategy</td></tr><tr 
class="a"><td>Operation cascade default</td><td>persist, 
(delete)</td><td></td></tr><tr class="b"><td>Operation Cascade 
configuration</td><td>delete</td><td>persist, delete, refresh</td></tr><tr 
class="a"><td>Query Language</td><td>JDOQL, SQL, others</td><td>JPQL, 
SQL</td></tr><tr class="b"><td>Query candidates</td><td><B>Candidate without 
subclasses</B>, Candidate and its subclasses</td><td>Candidate and its 
subclasses</td></tr><tr class="a"><td>Query of candidate 
collection</td><td><B>yes</B></td><td>no</td></tr
 ><tr class="b"><td>Query language case sensitivity</td><td>JDOQL 
 >lowercase/UPPERCASE</td><td>JPQL case-insensitive</td></tr><tr 
 >class="a"><td>Query language aliases</td><td>No, but has variables in 
 >JDOQL</td><td>Yes in JPQL</td></tr><tr class="b"><td>Query Criteria 
 >API</td><td>No, available as extension in 
 >QueryDSL</td><td><b>Yes</b></td></tr><tr class="a"><td>Object retrieval 
 >control</td><td>Lazy/Eager control, <B>fetch groups</B></td><td>Lazy/Eager 
 >control</td></tr><tr class="b"><td>Bulk update/delete</td><td>JDOQL Bulk 
 >Delete</td><td>JPQL Bulk Delete, <B>JPQL Bulk Update</B></td></tr><tr 
 >class="a"><td>RDBMS Schema Control</td><td>Tables, columns, PK columns, <b>PK 
 >constraints</b>, FK columns, <b>FK constraints</b>, <b>index columns</b>, 
-                        <b>index constraints</b>, unique key columns, 
<b>unique key constraints</b></td><td>Tables, columns, PK columns, FK columns, 
unique key columns</td></tr><tr class="b"><td>ORM Relationships</td><td><a 
href="jdo_v_jpa_orm.html"><b>Full range of Collection, Map, List, Array, 1-1, 
1-N, M-N using 
-                        PC, Non-PC and interface objects</b></a></td><td>Basic 
1-1, 1-N, M-N, Collection&lt;NonPC&gt;, Map&lt;NonPC&gt;</td></tr><tr 
class="a"><td>Default ORM column size</td><td>256</td><td>255</td></tr><tr 
class="b"><td>Default ORM identifiers 
(tables/columns)</td><td>No</td><td>Yes</td></tr><tr class="a"><td>Default ORM 
mappings</td><td>Yes, JDBC types defined for Java types</td><td>No</td></tr><tr 
class="b"><td>Caching interface</td><td>L2 Caching API</td><td>L2 Caching 
API</td></tr></table><p>
-                As an overall conclusion "JPA" is a subset of what is already 
available in "JDO".
-            </p></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-2011 <a href="http://www.apache.org/";>Apache Software 
Foundation</a></div></div></body></html>
\ No newline at end of file
+                        Collection/List/Map of persistable types</td>
+                </tr>
+                <tr class="b">
+                    <td>Embedded Fields</td>
+                    <td>Embedded persistent objects, <b>Embedded Collections, 
Embedded Maps</b></td>
+                    <td>Embedded persistent objects</td>
+                </tr>
+                <tr class="a">
+                    <td>Access a non-detached field</td>
+                    <td><b>Throw exception</b></td>
+                    <td>Undefined !!</td>
+                </tr>
+                <tr class="b">
+                    <td>Inheritance</td>
+                    <td><b>Each class has its own strategy</b></td>
+                    <td>Root class defines the strategy</td>
+                </tr>
+                <tr class="a">
+                    <td>Operation cascade default</td>
+                    <td>persist, (delete)</td>
+                    <td></td>
+                </tr>
+                <tr class="b">
+                    <td>Operation Cascade configuration</td>
+                    <td>delete</td>
+                    <td>persist, delete, refresh</td>
+                </tr>
+                <tr class="a">
+                    <td>Query Language</td>
+                    <td>JDOQL, SQL, others</td>
+                    <td>JPQL, SQL</td>
+                </tr>
+                <tr class="b">
+                    <td>Query candidates</td>
+                    <td><b>Candidate without subclasses</b>, Candidate and its 
subclasses</td>
+                    <td>Candidate and its subclasses</td>
+                </tr>
+                <tr class="a">
+                    <td>Query of candidate collection</td>
+                    <td><b>yes</b></td>
+                    <td>no</td>
+                </tr>
+                <tr class="b">
+                    <td>Query language case sensitivity</td>
+                    <td>JDOQL lowercase/UPPERCASE</td>
+                    <td>JPQL case-insensitive</td>
+                </tr>
+                <tr class="a">
+                    <td>Query language aliases</td>
+                    <td>No, but has variables in JDOQL</td>
+                    <td>Yes in JPQL</td>
+                </tr>
+                <tr class="b">
+                    <td>Query Criteria API</td>
+                    <td>No, available as extension in QueryDSL</td>
+                    <td><b>Yes</b></td>
+                </tr>
+                <tr class="a">
+                    <td>Object retrieval control</td>
+                    <td>Lazy/Eager control, <b>fetch groups</b></td>
+                    <td>Lazy/Eager control</td>
+                </tr>
+                <tr class="b">
+                    <td>Bulk update/delete</td>
+                    <td>JDOQL Bulk Delete</td>
+                    <td>JPQL Bulk Delete, <b>JPQL Bulk Update</b></td>
+                </tr>
+                <tr class="a">
+                    <td>RDBMS Schema Control</td>
+                    <td>Tables, columns, PK columns, <b>PK constraints</b>, FK 
columns, <b>FK constraints</b>, <b>index columns</b>, 
+                        <b>index constraints</b>, unique key columns, 
<b>unique key constraints</b></td>
+                    <td>Tables, columns, PK columns, FK columns, unique key 
columns</td>
+                </tr>
+                <tr class="b">
+                    <td>ORM Relationships</td>
+                    <td><a href="jdo_v_jpa_orm.html"><b>Full range of 
Collection, Map, List, Array, 1-1, 1-N, M-N using 
+                        PC, Non-PC and interface objects</b></a></td>
+                    <td>Basic 1-1, 1-N, M-N, Collection&lt;NonPC&gt;, 
Map&lt;NonPC&gt;</td>
+                </tr>
+                <tr class="a">
+                    <td>Default ORM column size</td>
+                    <td>256</td>
+                    <td>255</td>
+                </tr>
+                <tr class="b">
+                    <td>Default ORM identifiers (tables/columns)</td>
+                    <td>No</td>
+                    <td>Yes</td>
+                </tr>
+                <tr class="a">
+                    <td>Default ORM mappings</td>
+                    <td>Yes, JDBC types defined for Java types</td>
+                    <td>No</td>
+                </tr>
+                <tr class="b">
+                    <td>Caching interface</td>
+                    <td>L2 Caching API</td>
+                    <td>L2 Caching API</td>
+                </tr>
+            </table>
+            <p>
+                As an overall conclusion &quot;JPA&quot; is a subset of what 
is already available in &quot;JDO&quot;.
+            </p>
+        </div>
+
+    
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                   2005-2013.
+          All Rights Reserved.      
+                    
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Modified: websites/production/db/content/jdo/jdo_v_jpa_api.html
==============================================================================
--- websites/production/db/content/jdo/jdo_v_jpa_api.html (original)
+++ websites/production/db/content/jdo/jdo_v_jpa_api.html Tue Jan 15 06:29:01 
2013
@@ -1,11 +1,297 @@
-<!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) - JDO .v. JPA : API</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="keywords" content="JPA,EJB3,JDO,ORM"></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"><strong><a href="jdo_v_jpa_api.html">JDO v JPA : 
API</a></strong></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.ht
 ml">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">Referen
 ces</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="menuArticles"><h5>Articles</h5><ul><li class="none"><a 
href="jdo_3_0_overview.html">JDO 3.0 Overview</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="Ext
 ernal 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="JDO__v__JPA_:_API"></a><h2>JDO .v. JPA : API</h2><p>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia Site Renderer 1.3 at Jan 15, 2013 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Maven - 
+        JDO .v. JPA : API</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" 
media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20130115" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="./" id="bannerLeft">
+                                                <img src="images/JDOx150.gif" 
alt="Apache JDO" />
+                </a>
+                                            <a href="./" id="bannerRight">
+                                                <img src="images/jdo_text.gif" 
alt="Apache JDO" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                    
+                  <div class="xright">                    <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="api30/apidocs/index.html" title="Latest 
Javadocs">Latest Javadocs</a>
+              
+                    
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                    
+                                <h5>General</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" title="Home">Home</a>
+            </li>
+                  <li class="none">
+                          <a href="why_jdo.html" title="Why JDO?">Why JDO?</a>
+            </li>
+                  <li class="none">
+                          <a href="jdo_v_jpa.html" title="JDO v JPA">JDO v 
JPA</a>
+            </li>
+                  <li class="none">
+            <strong>JDO v JPA : API</strong>
+          </li>
+                  <li class="none">
+                          <a href="jdo_v_jpa_orm.html" title="JDO v JPA : 
ORM">JDO v JPA : ORM</a>
+            </li>
+                  <li class="none">
+                          <a href="downloads.html" 
title="Downloads">Downloads</a>
+            </li>
+                  <li class="none">
+                          <a href="http://www.apache.org/licenses/LICENSE-2.0"; 
class="externalLink" title="License">License</a>
+            </li>
+          </ul>
+                       <h5>JDO Implementation</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="specifications.html" 
title="Specifications">Specifications</a>
+            </li>
+                  <li class="none">
+                          <a href="tck.html" title="TCK">TCK</a>
+            </li>
+          </ul>
+                       <h5>JDO Usage</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="impls.html" 
title="Implementations">Implementations</a>
+            </li>
+                  <li class="none">
+                          <a href="javadoc.html" title="API Javadoc">API 
Javadoc</a>
+            </li>
+                  <li class="none">
+                          <a href="class_types.html" title="Types of 
Classes">Types of Classes</a>
+            </li>
+                  <li class="none">
+                          <a href="field_types.html" title="Types of 
Fields">Types of Fields</a>
+            </li>
+                                                                               
                                           <li class="collapsed">
+                          <a href="metadata.html" title="MetaData">MetaData</a>
+                  </li>
+                  <li class="none">
+                          <a href="enhancement.html" title="Bytecode 
Enhancement">Bytecode Enhancement</a>
+            </li>
+                  <li class="none">
+                          <a href="jdohelper.html" 
title="JDOHelper">JDOHelper</a>
+            </li>
+                  <li class="none">
+                          <a href="pmf.html" 
title="PersistenceManagerFactory">PersistenceManagerFactory</a>
+            </li>
+                  <li class="none">
+                          <a href="pm.html" 
title="PersistenceManager">PersistenceManager</a>
+            </li>
+                  <li class="none">
+                          <a href="transactions.html" 
title="Transactions">Transactions</a>
+            </li>
+                  <li class="none">
+                          <a href="attach_detach.html" 
title="Attach-Detach">Attach-Detach</a>
+            </li>
+                  <li class="none">
+                          <a href="fetchgroups.html" title="Fetch 
Groups">Fetch Groups</a>
+            </li>
+                  <li class="none">
+                          <a href="state_transition.html" title="Object 
States">Object States</a>
+            </li>
+                  <li class="none">
+                          <a href="object_retrieval.html" title="Object 
Retrieval">Object Retrieval</a>
+            </li>
+                                                                               
                   <li class="expanded">
+                          <a href="jdoql.html" title="JDOQL">JDOQL</a>
+                    <ul>
+                      <li class="none">
+                          <a href="jdoql_result.html" title="Result">Result</a>
+            </li>
+                      <li class="none">
+                          <a href="jdoql_methods.html" 
title="Methods">Methods</a>
+            </li>
+                      <li class="none">
+                          <a href="jdoql_quickref.pdf" title="Quick Ref 
PDF">Quick Ref PDF</a>
+            </li>
+              </ul>
+        </li>
+                  <li class="none">
+                          <a href="extents.html" title="Extents">Extents</a>
+            </li>
+                                                                               
       <li class="collapsed">
+                          <a href="guides.html" title="Guides">Guides</a>
+                  </li>
+                  <li class="none">
+                          <a href="references.html" 
title="References">References</a>
+            </li>
+                  <li class="none">
+                          <a href="exceptions.html" 
title="Exceptions">Exceptions</a>
+            </li>
+                  <li class="none">
+                          <a href="glossary.html" title="Glossary">Glossary</a>
+            </li>
+          </ul>
+                       <h5>Articles</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="jdo_3_0_overview.html" title="JDO 3.0 
Overview">JDO 3.0 Overview</a>
+            </li>
+          </ul>
+                       <h5>Community</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="get-involved.html" title="Get Involved">Get 
Involved</a>
+            </li>
+                  <li class="none">
+                          <a href="team-list.html" title="Project 
Team">Project Team</a>
+            </li>
+                  <li class="none">
+                          <a href="mail-lists.html" title="Mailing 
Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="faq.html" title="FAQ">FAQ</a>
+            </li>
+          </ul>
+                       <h5>Development</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="roadmap.html" title="RoadMap / 
TODO">RoadMap / TODO</a>
+            </li>
+                  <li class="none">
+                          <a href="svn.html" title="Source Code">Source 
Code</a>
+            </li>
+                  <li class="none">
+                          <a 
href="http://cwiki.apache.org/GMOxDEV/coding-standards.html"; 
class="externalLink" title="Coding Standards">Coding Standards</a>
+            </li>
+                  <li class="none">
+                          <a href="issuetracking.html" title="Issue 
Tracking">Issue Tracking</a>
+            </li>
+                  <li class="none">
+                          <a href="dependencies.html" 
title="Dependencies">Dependencies</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/"; title="Built 
by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="./images/logos/maven-feather.png" />
+      </a>
+                   
+                    
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+    
+        <div class="section"><h2>JDO .v. JPA : API<a 
name="JDO_.v._JPA_:_API"></a></h2>
+            <p>
                 The two persistence standards in Java have very similar API's 
on the face of it.
                 Here we give a comparison of the method calls and their 
equivalent in the other
                 API.
-            </p><table class="bodyTable"><tr class="a"><th 
width="20%">Operation</th><th width="40%">JDO</th><th 
width="40%">JPA</th></tr><tr class="b"><td>Persist 
Object</td><td>pm.makePersistent()</td><td>em.persist</td></tr><tr 
class="a"><td>Update 
Object</td><td>pm.makePersistent()</td><td>em.merge()</td></tr><tr 
class="b"><td>Remove 
Object</td><td>pm.deletePersistent()</td><td>em.remove()</td></tr><tr 
class="a"><td>Retrieve Object</td><td>pm.getObjectById()<br></br>
-                        pm.getExtent()</td><td>em.find()</td></tr><tr 
class="b"><td>Refresh 
Object</td><td>pm.refresh()</td><td>em.refresh()</td></tr><tr 
class="a"><td>Detach single 
Object</td><td>pm.detachCopy()</td><td>em.detach()</td></tr><tr 
class="b"><td>Flush changes</td><td>pm.flush()</td><td>em.flush()</td></tr><tr 
class="a"><td>Access 
transaction</td><td>pm.currentTransaction()</td><td>em.getTransaction()</td></tr><tr
 class="b"><td>New 
Query</td><td>pm.newQuery()</td><td>em.createQuery()</td></tr><tr 
class="a"><td>New Named 
Query</td><td>pm.newNamedQuery()</td><td>em.createNamedQuery()</td></tr><tr 
class="b"><td>New SQL 
Query</td><td>pm.newQuery()</td><td>em.createNativeQuery()</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-2011 <a href="http://www.apache.org/";>Apache Software 
Foundation</a></div></div></body></html>
\ No newline at end of file
+            </p>
+            <table border="0" class="bodyTable">
+                <tr class="a">
+                    <th width="20%">Operation</th>
+                    <th width="40%">JDO</th>
+                    <th width="40%">JPA</th>
+                </tr>
+                <tr class="b">
+                    <td>Persist Object</td>
+                    <td>pm.makePersistent()</td>
+                    <td>em.persist</td>
+                </tr>
+                <tr class="a">
+                    <td>Update Object</td>
+                    <td>pm.makePersistent()</td>
+                    <td>em.merge()</td>
+                </tr>
+                <tr class="b">
+                    <td>Remove Object</td>
+                    <td>pm.deletePersistent()</td>
+                    <td>em.remove()</td>
+                </tr>
+                <tr class="a">
+                    <td>Retrieve Object</td>
+                    <td>pm.getObjectById()<br />
+                        pm.getExtent()</td>
+                    <td>em.find()</td>
+                </tr>
+                <tr class="b">
+                    <td>Refresh Object</td>
+                    <td>pm.refresh()</td>
+                    <td>em.refresh()</td>
+                </tr>
+                <tr class="a">
+                    <td>Detach single Object</td>
+                    <td>pm.detachCopy()</td>
+                    <td>em.detach()</td>
+                </tr>
+                <tr class="b">
+                    <td>Flush changes</td>
+                    <td>pm.flush()</td>
+                    <td>em.flush()</td>
+                </tr>
+                <tr class="a">
+                    <td>Access transaction</td>
+                    <td>pm.currentTransaction()</td>
+                    <td>em.getTransaction()</td>
+                </tr>
+                <tr class="b">
+                    <td>New Query</td>
+                    <td>pm.newQuery()</td>
+                    <td>em.createQuery()</td>
+                </tr>
+                <tr class="a">
+                    <td>New Named Query</td>
+                    <td>pm.newNamedQuery()</td>
+                    <td>em.createNamedQuery()</td>
+                </tr>
+                <tr class="b">
+                    <td>New SQL Query</td>
+                    <td>pm.newQuery()</td>
+                    <td>em.createNativeQuery()</td>
+                </tr>
+            </table>
+        </div>
+
+    
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                   2005-2013.
+          All Rights Reserved.      
+                    
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>


Reply via email to