Java data objects
A uniform interface for access to persistent data is defined in the JDO specification. The way of physical storage is not specified. The object information can be stored in databases (relational or object-oriented ), files or other memories.
With the help of JDO the programmer can edit data objects without knowing the storage mechanisms. This means that developers no longer have to deal with the internals of databases; they can concentrate on the pure application logic.
JDO was influenced by the Object Database Management Group (ODMG) and launched in 1999 as JSR -12. The first version of JDO was adopted in May 2001 by well-known companies such as Sun, IBM and Apple . For JDO 1.0, Sun developed and provided the API (specification) as well as the Technology Compatibility Kit (TCK, compatibility tests) and Reference Implementation (RI, reference implementation). JDO 1 was later completely handed over to the Apache Software Foundation , which oversees it as part of the Apache DB Project .
From version 2 of May 1, 2006, JDO is being advanced by Apache , as can be seen from JSR -243. When choosing the reference implementation for JDO 2, Apache's own OJB project was skipped due to time constraints and instead JPOX (now replaced by DataNucleus ) was determined as the RI.
The maintenance release JDO 2.1 from August 2, 2007 brought support for Java 5 annotations , generics and enumeration types (
enum). The JDO 2.2 release from October 10, 2008 was just a bug fix release.
Sun's step to give up JDO is understandable and consistent, as it can be problematic to advance two different persistence approaches in parallel and with equal priority. Although there are numerous JDO supports and implementations (free and commercial), JDO 2 is also very powerful, but it can be seen that the other standardized solutions will be strengthened by Sun's strategic departure. As an implementation of the Java Persistence API, EJB 3 now offers comparable options to other lightweight solutions. A comparison of JDO and EJB 3 shows that both solutions can also work with the Standard Edition . A comparison of JDO and Hibernate shows that both solutions use POJOs here too .
- Apache JDO project
- JDO at Oracle (Sun)
- JDO specifications
- JSR 243: JavaTM Data Objects 2.0 - An Extension to the JDO specification
- JSR 12: JavaTM Data Objects (JDO) Specification
- DataNucleus - an open source implementation (reference implementation)
- Wiki page with the current state of development of the JDO specification