Java Data Objects (English)

Verze z 28. 4. 2013, 21:33; (diskuse | příspěvky)

(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání
Tato stránka je dostupná také v češtině: Java Data Objects


The Java Data Objects (JDO) API is a standard interface-based Java model abstraction of persistence, developed under the auspices of the Java Community Process[2].This API should serve as an alternative for Java Persistence API. Since JDO version 2.0, the development of the API and the Technology Compatibility Kit (TCK) takes place within the Apache JDO open-source project[2]. The Apache JDO project is focused on building the JDO API and the TCK for compatibility testing of JDO implementations. Commercial and open source implementations of JDO for relational databases, object databases and file systems can be found[1].

JDO is being developed not only to provide an alternative to using JPA, but also to provide some additional functionality. The main advantages speaking for usage of JDO over JPA are:

  • JDO is compatible since JDK 1.3(JPA since 1.5)
  • Provides an option to specify persistence mechanism through API
  • Supports any available datastore (JPA supports RDBMS only)
  • Issues only one restriction on persistent classes : no-argument constructor
  • Extends the range of supported types that can be persisted by adding primitive arrays, collections, etc.

For complex comparison chart visit .

In contrast to JPA using JPQL which is case-insensitive, JDO uses its own query language - JDOQL which accepts lowercase or UPPERCASE expressions. For actually building an JDO application the developer needs one of JDO implementations. For actual version JDO 3.1 it is DataNucleus AccessPlatform 3.1.0.


[1] Apache Foundation. Java data objects., 2013.

[2] Oracle. Java data objects (jdo)., 2013.

Apache Foundation. Which persistence specification ?, 2013.