Java Data Objects (JDO) is an application program interface (API) that enables a Java programmer to access a database implicitly - that is, without having to make explicit Structured Query Language (SQL) statements. JDO is recommended as a complement to Java Database Connectivity (JDBC), the interface that supports access to popular database programs using SQL statements. Using JDO, the programmer uses classes to define data objects and the supporting program manages the actual access of data from a given database based on the class definitions.
JDO was created as part of the Java Community Process with Sun Microsystems acting as the development leader. JDBC is expected to remain in use because it allows the programmer to have more control over database access than JDO. An alternative to JDO and JDBC is Enterprise JavaBeans (EJB).