Java Data Objects (ou JDO) est un standard informatique basé sur Java permettant l'accès aux données de façon transparente et unifiée.
Le standard est géré dans le cadre des JSR de Sun.
La simplicité d'utilisation de JDO basée sur la manipulation de Plain Old Java Objects (POJO) a fait le succès de ce standard. Le développeur peut manipuler les objets sans se soucier de la persistance. Potentiellement, le standard permet l'accès à des sources de données de nature diverse.
Trois grandes catégories d’implémentations existent :
JDO est la première spécification de Java permettant la persistance transparente (JSR12).
JDO 1.0 a été accepté comme le standard Java de gestion de la persistance en . De premières implémentations voient alors le jour, telles que FOStore ou DataNucleus Access Platform.
JDO 2.0 a commencé en . Fin 2005, JDO 2.0 est quasi finalisé sous Apache Software Foundation. En le vote final sur JDO 2.0 est approuvé en tant que JSR243 à la quasi-unanimité par SUN, BEA, Oracle, Borland, HP, Intel, Fujitsu, SAP, Google, IBM... Sur 16 votants seul JBoss (Hibernate) n'a pas voté. Une partie des implémentations de JDO 1.0 sont alors augmentées en conséquence, par exemple JPOX et Xcalia. Cette version est complétée par des versions 2.1 et 2.2.
JDO 3.0 a débuté en 2008.