2. Technique de persistance
• Definition
• Accéder aux SGBDR avec Java
• Framework de persistance
• Hibernate
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. 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. 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. 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. 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. 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. 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. 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. 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