JPOX
JPOX
JPOX  |  Version 1.0  |  Version 1.1  |  JDO
Java Data Objects
JDO Overview

jdo JDO defines an interface (or API) to persist normal Java objects (or POJO's in some peoples terminology) to a datastore. JDO doesn't define the type of datastore. It is datastore-agnostic. You would use the same interface to persist your Java object to RDBMS, or OODBMS, or XML, or whatever form of data storage. JDO is a standard. JDO 1.0 has been in existence since 2002, whilst JDO 2.0 was approved in early 2005. JDO defines the interface that an implementation has to implement. JPOX is an implementation of the JDO interface specification. There are other implementations. The whole point of having a standard interface is that users can, in principle, swap between implementations of JDO without changing their code.

There are 4 main areas to JDO.

  • JDO categorises classes into 3 types. The type of your class defines how it interacts with JDO. Some classes have no interaction with JDO, whilst others require you to define their behaviour under JDO.
  • Controlling the persistence of your objects. This is performed using a PersistenceManagerFactory/PersistenceManager. The persistence of Java objects results in changes to the lifecycle state of the objects.
  • Querying your objects in the datastore.
  • Controlling the transactions governing the persistence process.

The following diagram attempts to show the main areas.

JDO InteractionsQueryRDBMS