|
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 |
|---|
| JDO compliant | JDO1, JDO2, JDO2.1 |  |  | | JPA compliant | JPA1 |  |  | | JDK required | | 1.3+ | 1.5+ |
| Feature | Spec | Ver 1.0 | Ver 1.1 |
|---|
| Byte-Code Enhancement of classes | JDO1, JDO2 |  |  | | Byte-Code Compatibility | JDO1 |  |  | | Custom enhancer | |  |  | | Enhancement of Persistence-Aware classes | JDO2 |  |  | | Persistent fields | JDO2, JPA1 |  |  | | Persistent properties | JDO2.1, JPA1 |  |  | | Annotation support | JDO2.1, JPA1 |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.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 |
|---|
| Persistence API | JPA1 |  |  | | Application identity | JPA1 |  |  | | Flexible choice of identity generators | JPA1 |  |  | | Attach/Detach of instances | JPA1 |  |  | | Optimistic transactions | JPA1 |  |  | | Callback listener mechanism | JPA1 |  |  | | Level 2 Cache | JPA2 |  |  | | XA transactions | |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 |
|---|
| Interfaces support | JDO1, JDO2 |  |  | | Collection support | JDO1, JDO2, JPA1 |  |  | | Set Support | JDO1, JDO2, JPA1 |  |  | | List support | JDO1, JDO2 |  |  | | Map support | JDO1, JDO2, JPA1 |  |  | | Array support | JDO1, JDO2, [JPA1] |  |  | | Second Class PersistenceCapable objects | JDO1, JDO2 |  |  | | Spatial Type support | |  |  | | User-Defined Type support | |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.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 | JPA1 |  |  | | Named Queries | JDO2, JPA1 |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 |
|---|
| DB4O Datastores | |  |  | | RDBMS Datastores | |  |  | | Support for RDBMS Views | |  |  | | Support for RDBMS Stored Procedures | |  |  | | Schema Generation | JDO2 |  |  | | Existing Schema | |  |  | | Read-Only/Fixed Schema | |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 |
|---|
| 1-1 O/R mappings | JDO2, JPA1 |  |  | | 1-N O/R mappings | JDO2, JPA1 |  |  | | M-N O/R mappings | JDO2, JPA1 |  |  | | Compound Identity Relationships | JDO2 |  |  | | "Managed Relationships" | |  |  | | Embedded Fields | JDO2, JPA1 |  |  | | Serialised Fields | JDO2, JPA1 |  |  | | Secondary tables | JDO2, JPA1 |  |  | | Support for BLOB/CLOB | JDO1, JDO2, JPA1 |  |  |
| Feature | Spec | Ver 1.0 | Ver 1.1 |
|---|
| OSGi bundles | |  |  | | Spring Framework | |  |  | | Tapestry | |  |  | | Ant | |  |  | | Maven1 | |  |  | | Maven2 | |  |  | | Eclipse | |  |  | | NetBeans | |  |  | | L2 Cache : Oracle Coherence, EHCache, OSCache, SwarmCache | |  |  | | DB Connection Pooling : DBCP, C3P0, Proxool | |  |  |
|