Products
DataNucleus Access Platform : Features

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.

Specification compliance
FeatureSpecVer 1.0Ver 1.1Ver 2.0Ver 2.1
JDO compliantJDO1, JDO2, JDO2.1, JDO2.2
JDO3 compliantJDO3
JPA compliantJPA1
JPA2 compliantJPA2
JDK required1.3+1.5+1.5+1.5+


Class Persistence
FeatureSpecVer 1.0Ver 1.1Ver 2.0Ver 2.1
Byte-Code Enhancement of classesJDO1, JDO2
Byte-Code CompatibilityJDO1
Custom enhancer
Enhancement of Persistence-Aware classesJDO
Persistent fieldsJDO, JPA
Persistent propertiesJDO, JPA
Annotation supportJDO, JPA
Metadata APIJDO
Enhancer APIJDO
Enhancement during compilation


JDO Functionality
FeatureSpecVer 1.0Ver 1.1Ver 2.0Ver 2.1
Application identityJDO1, JDO2
Datastore identityJDO1, JDO2
Nondurable identityJDO1, JDO2 * * * *
Flexible choice of identity generatorsJDO2
Attach/Detach of instancesJDO2
Pessimistic (datastore) transactionsJDO1, JDO2
Optimistic transactionsJDO1, JDO2
Nontransactional ReadJDO1, JDO2
Nontransactional WriteJDO1, JDO2
Retain valuesJDO1, JDO2
Restore valuesJDO1, JDO2
MultithreadedJDO1, JDO2
J2EE IntegrationJDO1, JDO2
Lifecycle listener mechanismJDO2
Level 2 CacheJDO2, JPA2
Level 2 Cache pluggable
XA transactions

(*) = partial support : persistence but not update/delete



JPA Functionality
FeatureSpecVer 1.0Ver 1.1Ver 2.0Ver 2.1
Persistence APIJPA
Application identityJPA
Flexible choice of identity generatorsJPA
Attach/Detach of instancesJPA
Optimistic transactionsJPA
Callback listener mechanismJPA
Level 2 CacheJPA2
XA transactions


Persistable datatypes
FeatureSpecVer 1.0Ver 1.1Ver 2.0Ver 2.1
Interfaces supportJDO1, JDO2
Collection supportJDO, JPA
Set SupportJDO, JPA
List supportJDO, JPA
Map supportJDO, JPA
Array supportJDO, [JPA]
Second Class PersistenceCapable objectsJDO
Spatial Type support
User-Defined Type support


Querying Capability
FeatureSpecVer 1.0Ver 1.1Ver 2.0Ver 2.1
JDOQL Query LanguageJDO1, JDO2
JDOQL Single-String QueryJDO2
JDOQL Extensions
JDOQL SubqueriesJDO2.1+
SQL Query LanguageJDO2, JPA1
JPQL Query LanguageJPA
Named QueriesJDO2, JPA1
Query Compilation Cache
Query Results Cache


Datastore Support
FeatureSpecVer 1.0Ver 1.1Ver 2.0Ver 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


O/R Mapping Support
FeatureSpecVer 1.0Ver 1.1Ver 2.0Ver 2.1
1-1 O/R mappingsJDO, JPA
1-N O/R mappingsJDO, JPA
M-N O/R mappingsJDO, JPA
Compound Identity RelationshipsJDO
"Managed Relationships"JDO
Embedded FieldsJDO, JPA
Serialised FieldsJDO, JPA
Secondary tablesJDO, JPA
Support for BLOB/CLOBJDO, JPA


Third Party Integration
FeatureSpecVer 1.0Ver 1.1Ver 2.0Ver 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