You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@db.apache.org by an...@apache.org on 2013/01/15 07:29:02 UTC

svn commit: r846705 [8/20] - in /websites/production/db/content/jdo: ./ guides/ images/ images/logos/ releases/

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>