Hibernate

502 vues

Publié le

Mapping Objet Relationnel avec Hibernate

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Hibernate

  1. 1. Mapping Objet Relationnel avec Hibernate
  2. 2. Technique de persistance • Definition • Accéder aux SGBDR avec Java • Framework de persistance • Hibernate
  3. 3. Technique de persistance • Definition • Capacité à conserver des données au-delà du cycle de vie de l’application qui les a créées • Après un redémarrage de l’application, les données peuvent être retrouvées • Les données sont généralement stockées sur disque
  4. 4. Technique de persistance • Definition objet • Capacité d’un objet à vivre au delà du processus qui l’a créé • Etat sauvegardé dans un système de stockage permanent • Passivation : on peut arrêter le processus qui l’a créé, sans perdre les informations contenues dans l’objet • Activation : on peut reconstruire l’objet • Ce mécanisme n’est pas restreint aux objets uniques : des graphes d’objets interconnectés peuvent être rendus persistants
  5. 5. Technique de persistance • Solution de stockage • Base de donnés relationnelles • Base de données objet • Base de données XML • Fichier plats • Sérialisation • Fichiers binaires ou XML
  6. 6. Accéder aux SGBDR avec Java • JDBC • API Java qui permet de dialoguer avec les SGBDR • Language SQL • Connection, Statement, ResultSet • Charge de développement importante • Code JDBC volumineux • Transfert des données tabulaire à partir des ResultSet • Gérer la fermeture des ressources • Beaucoup de try...catch
  7. 7. Framework de persistance • Intérêt • Développement • Réduire le temps de développement • Obtenir un code plus orienté métier • Améliorer la portabilité / SGBDR • Implémentation de designs patterns appropriés • Unit of Work, Identity Field, Lazy Load • cf. Patterns Of Entreprise Application Architecture, de Martin Fowler • DAO : Data Access Object
  8. 8. Framework de persistance • Framework ORM • ORM : Object Relational Mapping • Design pattern Metadata Mapping [Fowler] • Mapping table <> classes métier • Utilisent les mécanismes de réflexion • Langage de requête • Propre à la technologie utilisée • Exemple : HQL, JDOQL, EJBQL • Le stockage des données est réalisé dans une base de données relationnelle
  9. 9. Framework de persistance • Framework ORM • Plus proche de la philosophie objet que les framework de type JDBC • Classes avec héritage et interfaces • Gestion du pool d’instance • Dirty checking • Optimisation des requêtes • Exemples : • Hibernate, JDO, OJB, TopLink, JPA
  10. 10. Hibernate • ORM • Metadata Mapper ! • Open Source • Licence LGPL : utilisation libre tant qu’on ne modifie pas les sources • Créé fin 2001 par Gaving King • Projet soutenu par JBoss Group depuis fin 2003
  11. 11. Hibernate • Populaire • Mise en oeuvre simple, pas de génération de code • http://www.hibernate.org • Périmètre • Gestion du mapping O/R uniquement • Pas de couche d’abstraction pour la gestion • de l’ouverture / fermeture des ressources • des exceptions • des transactions

×