Java Data Objects (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.
The whole point of using such a standard interface is that users can, in principle, swap
between implementations of JDO without changing their code.
Make sure you have datanucleus-api-jdo.jar in your CLASSPATH for this API.
The process of mapping a class can be split into the following areas
At runtime with JDO you start with the creation of a PersistenceManagerFactory (PMF) which provides the connectivity to the datastore. The connection to the datastore is dependent on a set of persistence properties defining the datastore location, URL etc as well as behaviour of the persistence process.
With JDO, to persist/retrieve objects you require a PersistenceManager (PM) that provides the interface to persistence and querying of the datastore. You can perform persistence and querying within a transaction if required, or just use it non-transactionally.
JDO allows querying of the datastore using a range of query languages. The most utilised is JDOQL providing an object-oriented form of querying, whereas some datastores also permit SQL.
If in doubt about how things fit together, please make use of the JDO Tutorial
If you just want to get the JDO API javadocs, then you can access those here (Apache JDO)