You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by an...@apache.org on 2010/04/25 15:15:55 UTC
svn commit: r937795 - in /db/jdo/site: docs/jdo_v_jpa.html
xdocs/jdo_v_jpa.xml
Author: andyj
Date: Sun Apr 25 13:15:55 2010
New Revision: 937795
URL: http://svn.apache.org/viewvc?rev=937795&view=rev
Log:
more JPA/JDO wording
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=937795&r1=937794&r2=937795&view=diff
==============================================================================
--- db/jdo/site/docs/jdo_v_jpa.html (original)
+++ db/jdo/site/docs/jdo_v_jpa.html Sun Apr 25 13:15:55 2010
@@ -14,7 +14,7 @@
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</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,
+ 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>,
@@ -27,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>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>,
+ 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 language case sensitivity</td><td>JDOQL lowercase/UPPERCASE</t
d><td>JPQL 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/Eager control, <B>fetch groups</B></td><td>Lazy/Eager control</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<NonPC>, Map<NonPC></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".
+ 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-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=937795&r1=937794&r2=937795&view=diff
==============================================================================
--- db/jdo/site/xdocs/jdo_v_jpa.xml (original)
+++ db/jdo/site/xdocs/jdo_v_jpa.xml Sun Apr 25 13:15:55 2010
@@ -67,7 +67,7 @@
<tr>
<td>Transactions</td>
<td><B>Pessimistic</B>, Optimistic</td>
- <td>Optimistic</td>
+ <td>Optimistic, some locking</td>
</tr>
<tr>
<td>Object Identity</td>
@@ -129,7 +129,7 @@
</tr>
<tr>
<td>Query Language</td>
- <td>JDOQL, SQL</td>
+ <td>JDOQL, SQL, others</td>
<td>JPQL, SQL</td>
</tr>
<tr>
@@ -154,8 +154,8 @@
</tr>
<tr>
<td>Object retrieval control</td>
- <td>Lazy loading, eager fetching, <B>fetch groups</B></td>
- <td>Lazy loading, eager fetching</td>
+ <td>Lazy/Eager control, <B>fetch groups</B></td>
+ <td>Lazy/Eager control</td>
</tr>
<tr>
<td>Bulk update/delete</td>
@@ -196,7 +196,7 @@
</tr>
</table>
<p>
- As an overall conclusion "JPA1" is a subset of what is already available in "JDO2".
+ As an overall conclusion "JPA" is a subset of what is already available in "JDO".
</p>
</section>