|
DataNucleus is specification driven, not just implementing specifications but also passing
whatever specification compatibility (e.g TCK) there is available. The primary features of the
DataNucleus Access Platform releases are shown below.
| Feature | Spec | Ver 1.0 | Ver 1.1 | Ver 2.0 | Ver 2.1 |
|---|
| JDO compliant | JDO1, JDO2, JDO2.1, JDO2.2 |  |  |  |  | | JDO3 compliant | JDO3 |  |  |  |  | | JPA compliant | JPA1 |  |  |  |  | | JPA2 compliant | JPA2 |  |  |  |  | | JDK required | | 1.3+ | 1.5+ | 1.5+ | 1.5+ |
| Feature | Spec | Ver 1.0 | Ver 1.1 | Ver 2.0 | Ver 2.1 |
|---|
| Byte-Code Enhancement of classes | JDO1, JDO2 |  |  |  |  | | Byte-Code Compatibility | JDO1 |  |  |  |  | | Custom enhancer | |  |  |  |  | | Enhancement of Persistence-Aware classes | JDO |  |  |  |  | | Persistent fields | JDO, JPA |  |  |  |  | | Persistent properties | JDO, JPA |  |  |  |  | | Annotation support | JDO, JPA |  |  |  |  | | Metadata API | JDO |  |  |  |  | | Enhancer API | JDO |  |  |  |  | | Enhancement during compilation | |  |  |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 | Ver 2.0 | Ver 2.1 |
|---|
| Application identity | JDO1, JDO2 |  |  |  |  | | Datastore identity | JDO1, JDO2 |  |  |  |  | | Nondurable identity | JDO1, JDO2 | * | * | * | * | | Flexible choice of identity generators | JDO2 |  |  |  |  | | Attach/Detach of instances | JDO2 |  |  |  |  | | Pessimistic (datastore) transactions | JDO1, JDO2 |  |  |  |  | | Optimistic transactions | JDO1, JDO2 |  |  |  |  | | Nontransactional Read | JDO1, JDO2 |  |  |  |  | | Nontransactional Write | JDO1, JDO2 |  |  |  |  | | Retain values | JDO1, JDO2 |  |  |  |  | | Restore values | JDO1, JDO2 |  |  |  |  | | Multithreaded | JDO1, JDO2 |  |  |  |  | | J2EE Integration | JDO1, JDO2 |  |  |  |  | | Lifecycle listener mechanism | JDO2 |  |  |  |  | | Level 2 Cache | JDO2, JPA2 |  |  |  |  | | Level 2 Cache pluggable | |  |  |  |  | | XA transactions | |  |  |  |  |
(*) = partial support : persistence but not update/delete
| Feature | Spec | Ver 1.0 | Ver 1.1 | Ver 2.0 | Ver 2.1 |
|---|
| Persistence API | JPA |  |  |  |  | | Application identity | JPA |  |  |  |  | | Flexible choice of identity generators | JPA |  |  |  |  | | Attach/Detach of instances | JPA |  |  |  |  | | Optimistic transactions | JPA |  |  |  |  | | Callback listener mechanism | JPA |  |  |  |  | | Level 2 Cache | JPA2 |  |  |  |  | | XA transactions | |  |  |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 | Ver 2.0 | Ver 2.1 |
|---|
| Interfaces support | JDO1, JDO2 |  |  |  |  | | Collection support | JDO, JPA |  |  |  |  | | Set Support | JDO, JPA |  |  |  |  | | List support | JDO, JPA |  |  |  |  | | Map support | JDO, JPA |  |  |  |  | | Array support | JDO, [JPA] |  |  |  |  | | Second Class PersistenceCapable objects | JDO |  |  |  |  | | Spatial Type support | |  |  |  |  | | User-Defined Type support | |  |  |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 | Ver 2.0 | Ver 2.1 |
|---|
| JDOQL Query Language | JDO1, JDO2 |  |  |  |  | | JDOQL Single-String Query | JDO2 |  |  |  |  | | JDOQL Extensions | |  |  |  |  | | JDOQL Subqueries | JDO2.1+ |  |  |  |  | | SQL Query Language | JDO2, JPA1 |  |  |  |  | | JPQL Query Language | JPA |  |  |  |  | | Named Queries | JDO2, JPA1 |  |  |  |  | | Query Compilation Cache | |  |  |  |  | | Query Results Cache | |  |  |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 | Ver 2.0 | Ver 2.1 |
|---|
| DB4O Datastores | |  |  |  |  | | NeoDatis Datastores | |  |  |  |  | | Excel Documents | |  |  |  |  | | ODF Documents | |  |  |  |  | | XML Documents | |  |  |  |  | | Google BigTable (AppEngine) datastores | |  |  |  |  | | HBase Datastores | |  |  |  |  | | JSON Datastores | |  |  |  |  | | Amazon S3 Datastores | |  |  |  |  | | Google Storage | |  |  |  |  | | LDAP Datastores | |  |  |  |  | | RDBMS Datastores | |  |  |  |  | | Support for RDBMS Views | |  |  |  |  | | Support for RDBMS Stored Procedures | |  |  |  |  | | Schema Generation (RDBMS) | JDO2 |  |  |  |  | | Existing Schema | |  |  |  |  | | Read-Only/Fixed Schema | |  |  |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 | Ver 2.0 | Ver 2.1 |
|---|
| 1-1 O/R mappings | JDO, JPA |  |  |  |  | | 1-N O/R mappings | JDO, JPA |  |  |  |  | | M-N O/R mappings | JDO, JPA |  |  |  |  | | Compound Identity Relationships | JDO |  |  |  |  | | "Managed Relationships" | JDO |  |  |  |  | | Embedded Fields | JDO, JPA |  |  |  |  | | Serialised Fields | JDO, JPA |  |  |  |  | | Secondary tables | JDO, JPA |  |  |  |  | | Support for BLOB/CLOB | JDO, JPA |  |  |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 | Ver 2.0 | Ver 2.1 |
|---|
| OSGi bundles | |  |  |  |  | | Spring Framework | |  |  |  |  | | Tapestry | |  |  |  |  | | Ant | |  |  |  |  | | Maven1 | |  |  |  |  | | Maven2 | |  |  |  |  | | Eclipse | |  |  |  |  | | NetBeans | |  |  |  |  | | L2 Cache : Oracle Coherence, EHCache, OSCache, SwarmCache | |  |  |  |  | | RDBMS Connection Pooling : DBCP, C3P0, Proxool | |  |  |  |  |
|