About Apache JDO

Welcome to Apache JDO, a project of the Apache DB project. Our goal is a thriving community of users and developers of object persistence technology.

Java Data Objects (JDO) is a standard way to access persistent data in databases, using plain old Java objects (POJO) to represent persistent data. The approach separates data manipulation (done by accessing Java data members in the Java domain objects) from database manipulation (done by calling the JDO interface methods). This separation of concerns leads to a high degree of independence of the Java view of data from the database view of the data.

Interfaces are defined for the user's view of persistence:

  • PersistenceManager: the component responsible for the life cycle of persistent instances, Query factory, and Transaction access
  • Query: the component responsible for querying the datastore and returning persistent instances or values
  • Transaction: the component responsible for initiating and completing transactions

JDO is being developed as a Java Specification Request in the Java Community Process. The original JDO 1.0 is JSR-12 and the current JDO 2.0 is JSR-243.

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 are available for relational databases, object databases, and file systems. If you need an implementation for building a JDO application, see Implementations.

JDO News

JDO 2.3 "early access" is released

The third maintenance release of JDO 2 is well under way, and to give you an early preview this is now released for your feedback.
JDO 2.2 is released
JDO 2.2 is now available for download from the downloads page. This is a minor bug fix release.
JDO 2.1.1 is released
JDO 2.1.1 is now available for download from the downloads page. This is a minor bug fix release.
JDO 2.1 is released
JDO 2.1 is now available for download from the downloads page. The JDO 2.1 maintenance release provides support for JDK 1.5 features,including the use of annotations as a means of specifying mapping. It also includes many corrections and minor changes. For details, see Change Log for JSR-000243 JavaTM Data Objects 2.0 (2007-08-02)
JDO 2.0 has been approved by the JCP
JDO 2.0 is now available for download from the downloads page.

JDO 2.0 builds on JDO 1 and includes many features requested by users:

  • Standard mapping from objects to relational databases
  • Multi-tier support without use of Data Transfer Objects
  • Improved query support including projections and aggregates
  • Stored queries in metadata
  • Deletion by query
  • Optimized fetching of object graphs without writing special queries
  • Extensive List and Map support
  • Lazy loading of large collections
  • Improved support for single-field primary keys
  • Object lifecycle event monitoring
  • Improved support for bidirectional relationships
(2006-05-03)

Java Community Process!

JDO is being developed under the Java Community Process. The Apache JDO project is developing the API and the Technology Compatibility Kit for the JDO standard. (2005-07-13)

Users!

We'd love to have you involved. Check out the Wiki. Check out the Specification, which has been approved. Get Involved! (2005-07-13)

Archived articles are here.