About JDO

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:

Commercial and open source implementations of JDO are available for relational databases, object databases, and file systems.

JDO is being developed as a Java Specification Request in the Java Community Process. The original JDO 1.0 is JSR-12 http://www.jcp.org/en/jsr/detail?id=12 and the current JDO 2.0 is JSR-243 http://www.jcp.org/en/jsr/detail?id=243. JSR-243 has been approved by the Executive Committee of the JCP http://jcp.org/en/jsr/results?id=3663

JSR-243 is now in maintenance. For a list of issues to be resolved in maintenance, please see the ChangeLog.

Current Development Activities

Please look at CurrentDevelopment for a list of tasks currently under development or planned. Volunteer by expressing interest at jdo-dev@db.apache.org.

Design Work

Designing a ScalableBackEnd for an implementation of Apache JDO similar to FOStore but scalable using a queryable back end.

About Apache JDO

Sun Microsystems has decided to donate Java Data Objects (JDO) to the open source community. Both of the specifications will be developed in the Apache JDO project. We envision several sub-projects to be developed as part of this project:

Due to timing constraints, the JDO 2.0 Reference Implementation is not being built as an Apache project, but will be built as a JPOX release http://jpox.org.

Project Structure

For more information on the structure of the project, see ProjectStructure.

Tools

This project will use:

Participation

If you are interested in participating in the JDO project, please subscribe to a mailing list to find out what's happening.

If you're interested in committing to the project:

We have a communications conference call every Friday at 9:00 AM Pacific time. The conference call number is 866 230-6968 (international 865 544-7856) code 294-0479#. During this call we discuss project status, issues, concerns, and strategy. Everyone interested in Apache JDO is welcome and encouraged to participate.

Technology Compatibility Kit Developer's Page

Information for developers of the JDO TCK is found at TechnologyCompatibilityKit21

The list of TCK20 challenges is found at TCKChallenges

Releases

Apache JDO 2.3 is currently under development.

The release testing instructions are at ReleaseTesting2dot3.

The release manager must have a key to sign the release. Learn about key signing and creating a key at KeySigning.

Test instructions of previous releases: ReleaseTesting2dot1, ReleaseTesting2dot1dot1, ReleaseTesting2dot2.

General Developer Information

JDO Resources

Sun's official JDO site

Apache JDO site

JDO-related resources - Articles, Books, Presentations, Tutorials.

JavaOne2006 and ApacheCon2006 presentations in progress

'Special' Wiki pages

TitleIndex
A list of all pages on this wiki.

HelpContents
A basic guide to the MoinMoin wiki (including information about wiki syntax).

WordIndex
A list of all the words that appear in the titles of the pages on this wiki, with links to pages that include that word.

FindPage
A full-text search of the wiki.

WantedPages
All the "broken links" – a list of all the pages on this wiki that are linked to, but do not exist.

OrphanedPages
All pages on this wiki that are not linked to from anywhere else (and are thus very hard to reach).

RandomPage
Generates a list of 75 random pages on this wiki.

PageSize
Generates a graph and some statistics about the sizes of pages on this wiki.

EventStats/HitCounts
Generates a graph of page views and page visits.

EventStats/UserAgents
Generates a graph of the web browsers used in visiting this page.

SystemInformation
Shows basic information about this wiki installation, the extensions it has installed, etc.