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.

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)