db-jdo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From an...@apache.org
Subject svn commit: r936883 - in /db/jdo/site: docs/jdo_v_jpa.html xdocs/jdo_v_jpa.xml
Date Thu, 22 Apr 2010 14:58:55 GMT
Author: andyj
Date: Thu Apr 22 14:58:55 2010
New Revision: 936883

URL: http://svn.apache.org/viewvc?rev=936883&view=rev
Log:
add some JPA2 context

Modified:
    db/jdo/site/docs/jdo_v_jpa.html
    db/jdo/site/xdocs/jdo_v_jpa.xml

Modified: db/jdo/site/docs/jdo_v_jpa.html
URL: http://svn.apache.org/viewvc/db/jdo/site/docs/jdo_v_jpa.html?rev=936883&r1=936882&r2=936883&view=diff
==============================================================================
--- db/jdo/site/docs/jdo_v_jpa.html (original)
+++ db/jdo/site/docs/jdo_v_jpa.html Thu Apr 22 14:58:55 2010
@@ -8,10 +8,12 @@
 				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 
 				in its JPA1 form, and JDO2.1/JDO2.2 provide updates to JDO2 building on some of the new

-				features of JPA1. Below we show some of the differences of these 2 standards to give
you 
+                features of JPA1. Since then we have had JDO2.3 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%">JDO2.2</th><th width="40%">JPA1</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.
+            </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</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>,
@@ -25,10 +27,10 @@
                         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</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 language case sensitivity</td><td>JDOQL lowercase/UPPERCASE</td><td>JP
 QL case-insensitive</td></tr><tr class="b"><td>Query language aliases</td><td>No,
but has variables in JDOQL</td><td>Yes in JPQL</td></tr><tr class="a"><td>Object
retrieval control</td><td>Lazy loading, eager fetching, <B>fetch groups</B></td><td>Lazy
loading, eager fetching</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 only. <i>Collection&lt;NonPC&gt;, Map&lt;NonPC&gt; in
JPA2</i></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><B>L2 Caching API</B></td><td><i>Caching
API in JPA2</i></td></tr></table><p>
+                        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</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 language case sensitivity</td><td>JDOQL lowercase/UPPERCASE</td><td>JP
 QL case-insensitive</td></tr><tr class="b"><td>Query language aliases</td><td>No,
but has variables in JDOQL</td><td>Yes in JPQL</td></tr><tr class="a"><td>Query
Criteria API</td><td>No, available as extension in QueryDSL</td><td><b>Yes</b></td></tr><tr
class="b"><td>Object retrieval control</td><td>Lazy loading, eager fetching,
<B>fetch groups</B></td><td>Lazy loading, eager fetching</td></tr><tr
class="a"><td>Bulk update/delete</td><td>JDOQL Bulk Delete</td><td>JPQL
Bulk Delete, <B>JPQL Bulk Update</B></td></tr><tr class="b"><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="a"><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="b"><td>Default ORM column size</td><td>256</td><td>255</td></tr><tr
class="a"><td>Default ORM identifiers (tables/columns)</td><td>No</td><td>Yes</td></tr><tr
class="b"><td>Default ORM mappings</td><td>Yes, JDBC types defined for
Java types</td><td>No</td></tr><tr class="a"><td>Caching
interface</td><td>L2 Caching API</td><td>L2 Caching API</td></tr></table><p>
                 As an overall conclusion "JPA1" is a subset of what is already available
in "JDO2".
             </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-2009 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file
+                  © 2005-2010 <a href="http://www.apache.org/">Apache Software Foundation</a></div></div></body></html>
\ No newline at end of file

Modified: db/jdo/site/xdocs/jdo_v_jpa.xml
URL: http://svn.apache.org/viewvc/db/jdo/site/xdocs/jdo_v_jpa.xml?rev=936883&r1=936882&r2=936883&view=diff
==============================================================================
--- db/jdo/site/xdocs/jdo_v_jpa.xml (original)
+++ db/jdo/site/xdocs/jdo_v_jpa.xml Thu Apr 22 14:58:55 2010
@@ -16,15 +16,17 @@
 				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 
 				in its JPA1 form, and JDO2.1/JDO2.2 provide updates to JDO2 building on some of the new

-				features of JPA1. Below we show some of the differences of these 2 standards to give
you 
+                features of JPA1. Since then we have had JDO2.3 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>
                 <tr>
                     <th width="20%">Feature</th>
-                    <th width="40%">JDO2.2</th>
-                    <th width="40%">JPA1</th>
+                    <th width="40%">JDO</th>
+                    <th width="40%">JPA</th>
                 </tr>
                 <tr>
                     <td>JDK Requirement</td>
@@ -146,6 +148,11 @@
                     <td>Yes in JPQL</td>
                 </tr>
                 <tr>
+                    <td>Query Criteria API</td>
+                    <td>No, available as extension in QueryDSL</td>
+                    <td><b>Yes</b></td>
+                </tr>
+                <tr>
                     <td>Object retrieval control</td>
                     <td>Lazy loading, eager fetching, <B>fetch groups</B></td>
                     <td>Lazy loading, eager fetching</td>
@@ -165,7 +172,7 @@
                     <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 only. <i>Collection&lt;NonPC&gt;,
Map&lt;NonPC&gt; in JPA2</i></td>
+                    <td>Basic 1-1, 1-N, M-N, Collection&lt;NonPC&gt;, Map&lt;NonPC&gt;</td>
                 </tr>
                 <tr>
                     <td>Default ORM column size</td>
@@ -184,8 +191,8 @@
                 </tr>
                 <tr>
                     <td>Caching interface</td>
-                    <td><B>L2 Caching API</B></td>
-                    <td><i>Caching API in JPA2</i></td>
+                    <td>L2 Caching API</td>
+                    <td>L2 Caching API</td>
                 </tr>
             </table>
             <p>



Mime
View raw message