From jdo-commits-return-2740-apmail-db-jdo-commits-archive=www.apache.org@db.apache.org Sun Apr 25 13:16:39 2010 Return-Path: Delivered-To: apmail-db-jdo-commits-archive@www.apache.org Received: (qmail 75805 invoked from network); 25 Apr 2010 13:16:39 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 25 Apr 2010 13:16:39 -0000 Received: (qmail 28660 invoked by uid 500); 25 Apr 2010 13:16:39 -0000 Mailing-List: contact jdo-commits-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jdo-dev@db.apache.org Delivered-To: mailing list jdo-commits@db.apache.org Received: (qmail 28653 invoked by uid 99); 25 Apr 2010 13:16:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 25 Apr 2010 13:16:38 +0000 X-ASF-Spam-Status: No, hits=-1201.0 required=10.0 tests=ALL_TRUSTED,AWL X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 25 Apr 2010 13:16:37 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 8D1EB23888EC; Sun, 25 Apr 2010 13:15:55 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r937795 - in /db/jdo/site: docs/jdo_v_jpa.html xdocs/jdo_v_jpa.xml Date: Sun, 25 Apr 2010 13:15:55 -0000 To: jdo-commits@db.apache.org From: andyj@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100425131555.8D1EB23888EC@eris.apache.org> 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.

FeatureJDOJPA
JDK Requirement1.3+1.5+
UsageJ2EE, J2SEJ2EE, J2SE
Persistence specification mechanismXML, Annotations, APIXML, Annotations
Datastore supportedAnyRDBMS only
Restrictions on persisted classesno-arg constructor (could be added by compiler/enhancer)No final classes. No final methods. Non-private no-arg constructor. Identity Field. - Version Field.
Ability to persist "transient" fieldsYesNo
Persist static/final fieldsNoNot specified
TransactionsPessimistic, OptimisticOptimistic
Object Identitydatastore-identity, application-identityapplication-identity
Object Identity generationSequence, Table, Identity, Auto, UUID String, UUID HexSequence, Table, Identity, Auto
Change objects identityThrow exception when not allowedUndefined !!
Supported typesJava primitive types, wrappers of primitive types, java.lang.String, java.lang.Number, java.math.BigInteger, java.math.BigDecimal, + Version Field.
Ability to persist "transient" fieldsYesNo
Persist static/final fieldsNoNot specified
TransactionsPessimistic, OptimisticOptimistic, some locking
Object Identitydatastore-identity, application-identityapplication-identity
Object Identity generationSequence, Table, Identity, Auto, UUID String, UUID HexSequence, Table, Identity, Auto
Change objects identityThrow exception when not allowedUndefined !!
Supported typesJava primitive types, wrappers of primitive types, java.lang.String, java.lang.Number, java.math.BigInteger, java.math.BigDecimal, java.util.Currency, java.util.Locale, java.util.Date, java.sql.Time, java.sql.Date, java.sql.Timestamp, java.io.Serializable, boolean[], byte[], char[], double[], float[], int[], long[], short[], java.lang.Object, interface, @@ -27,10 +27,10 @@ java.util.Date, java.util.Calendar, 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
Embedded FieldsEmbedded persistent objects, Embedded Collections, Embedded MapsEmbedded persistent objects
Access a non-detached fieldThrow exceptionUndefined !!
InheritanceEach class has its own strategyRoot class defines the strategy
Operation cascade defaultpersist, (delete)
Operation Cascade configurationdeletepersist, delete, refresh
Query LanguageJDOQL, SQLJPQL, SQL
Query candidatesCandidate without subclasses, Candidate and its subclassesCandidate and its subclasses
Query language case sensitivityJDOQL lowercase/UPPERCASEJP QL case-insensitive
Query language aliasesNo, but has variables in JDOQLYes in JPQL
Query Criteria APINo, available as extension in QueryDSLYes
Object retrieval controlLazy loading, eager fetching, fetch groupsLazy loading, eager fetching
Bulk update/deleteJDOQL Bulk DeleteJPQL Bulk Delete, JPQL Bulk Update
RDBMS Schema ControlTables, columns, PK columns, PK constraints, FK columns, FK constraints, index columns, + Collection/List/Map of persistable types
Embedded FieldsEmbedded persistent objects, Embedded Collections, Embedded MapsEmbedded persistent objects
Access a non-detached fieldThrow exceptionUndefined !!
InheritanceEach class has its own strategyRoot class defines the strategy
Operation cascade defaultpersist, (delete)
Operation Cascade configurationdeletepersist, delete, refresh
Query LanguageJDOQL, SQL, othersJPQL, SQL
Query candidatesCandidate without subclasses, Candidate and its subclassesCandidate and its subclasses
Query language case sensitivityJDOQL lowercase/UPPERCASEJPQL case-insensitive
Query language aliasesNo, but has variables in JDOQLYes in JPQL
Query Criteria APINo, available as extension in QueryDSLYes
Object retrieval controlLazy/Eager control, fetch groupsLazy/Eager control
Bulk update/deleteJDOQL Bulk DeleteJPQL Bulk Delete, JPQL Bulk Update
RDBMS Schema ControlTables, columns, PK columns, PK constraints, FK columns, FK constraints, index columns, index constraints, unique key columns, unique key constraintsTables, columns, PK columns, FK columns, unique key columns
ORM RelationshipsFull range of Collection, Map, List, Array, 1-1, 1-N, M-N using PC, Non-PC and interface objectsBasic 1-1, 1-N, M-N, Collection<NonPC>, Map<NonPC>
Default ORM column size256255
Default ORM identifiers (tables/columns)NoYes
Default ORM mappingsYes, JDBC types defined for Java typesNo
Caching interfaceL2 Caching APIL2 Caching API

- 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".


\ 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 @@ Transactions Pessimistic, Optimistic - Optimistic + Optimistic, some locking Object Identity @@ -129,7 +129,7 @@ Query Language - JDOQL, SQL + JDOQL, SQL, others JPQL, SQL @@ -154,8 +154,8 @@ Object retrieval control - Lazy loading, eager fetching, fetch groups - Lazy loading, eager fetching + Lazy/Eager control, fetch groups + Lazy/Eager control Bulk update/delete @@ -196,7 +196,7 @@

- 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".