Java Data Objects

Page d’aide sur l’homonymie

Pour les articles homonymes, voir JDO (homonymie).

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 :

  • les implémentations qui ne supportent que les bases de données relationnelles ;
  • les implémentations qui ne supportent que les bases de données orientées objet ;
  • les implémentations qui supportent des sources de données hétérogènes (SGBDR, SGBDO, XML, Mainframe) et également l'accès à des services (Web Services, Java messaging service (JMS), Java connector architecture (JCA), COBOL). Dans les cas des implémentations supportant des sources hétérogènes, l'un des bénéfices apportés est la flexibilité du système d'information. Il devient en effet possible de changer de source de donnée par simple paramétrage.

Historique de JDO

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.

Nouveautés de JDO 2.0

  • Attachement et détachement
  • Interface javax.jdo.FetchPlan et ««fetch groups nommés
  • JDOQL projections et agrégats (count, sum, min, max, etc)
  • JDOQL requêtes nommées
  • JDOQL suppression par requête
  • Support natif des requêtes SQL pour les sources de données relationnelles
  • Interface javax.jdo.DataStoreCache pour contrôler le cache de deuxième niveau
  • Interface javax.jdo.JDOConnection pour récupérer un accès direct à la connexion sous-jacente

Voir aussi

Articles connexes

Liens externes

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ou cette section contient trop de liens externes ().

Les liens externes doivent être des sites de référence dans le domaine du sujet. Il est souhaitable — si cela présente un intérêt — de citer ces liens comme source et de les enlever du corps de l'article ou de la section « Liens externes ».

Implémentations de JDO

  • XIC (Plateforme d’Intermediation d’Xcalia).
  • DataNucleus
  • ObJectRelationalBridge (OJB)
  • Orient ODBMS
  • Speedo Une implémentation open-source du consortium ObjectWeb.

Informations complémentaires

  • (en) JDO sur le site de Oracle
  • (en) JSR 243: JDO 2
  • (en) JSR 12: JDO 1
  • (en) Specification Java sur la persistance
  • (en) Historique de JDO
  • icône décorative Portail de la programmation informatique