1. Présentation de l'ouvrage▲
1-1. Table des matières▲
Chapitre 1 - Persistance et mapping objet-relationnel
Historique de la persistance en Java
Principes de la persistance
Les autres solutions de persistance
Conclusion
Chapitre 2 - Classes persistantes et session Hibernate
Installation d'Hibernate
Les classes métier persistantes
La session Hibernate
Conclusion
Chapitre 3 - Métadonnées et mapping des classes métier
Référentiel des métadonnées
Les fichiers de mapping
Conclusion
Chapitre 4 - Héritage, polymorphisme et associations ternaires
Stratégies de mapping d'héritage et polymorphisme
Mise en oeuvre d'une association bidirectionnelle
Les autres types d'associations
Conclusion
Chapitre 5 - Méthodes de récupération d'instances persistantes
Le lazy loading, ou chargement à la demande
Les techniques de récupération d'objets
Conclusion
Chapitre 6 - Création, modification et suppression d'instances persistantes
Persistance d'un réseau d'instances
Les transactions
Conclusion
Chapitre 7 - Gestion de la session Hibernate
La session Hibernate
Les transactions applicatives
Utilisation d'Hibernate avec Struts
Gestion de la session dans un batch
Interpréter les exceptions
Conclusion
Chapitre 8 - Fonctionnalités de mapping avancées
Fonctionnalités de mapping liées aux métadonnées
Fonctionnalités à l'exécution
Les nouveaux types de mapping d'Hibernate 3
Conclusion
Chapitre 9 - L'outillage d'Hibernate
L'outillage relatif aux métadonnées
L'outillage Hibernate Tools
Extensions et intégration
Conclusion
1-2. Le livre vu par l'éditeur▲
Gestion optimale de la persistance dans les applications Java/J2EE : Standard de fait, Hibernate s'est imposé comme la solution idéale pour gérer le délicat problème de la persistance des objets Java/J2EE par mapping vers les bases de données relationnelles. Dans sa version 3, Hibernate fournit déjà une implémentation très avancée du futur standard de la persistance Java/J2EE : EJB 3.0 Persistence API. Un livre pratique illustré d'une étude de cas détaillée : Résolument pratique, cet ouvrage illustre chacune des fonctionnalités d'Hibernate à travers une étude de cas déclinée au fil des chapitres. Il insiste tout particulièrement sur les aspects méthodologiques et sur les questions de performances : maîtrise des fichiers de mapping, gestion optimale des sessions Hibernate, interrogation performante de la base de données, outils de productivité apportés par Hibernate 3.0, configuration des pools de connexions et des caches de second niveau, etc.
1-3. Mon résumé▲
Cet ouvrage commence par vous présenter la problématique de mapping O/R en énumérant les solutions précurseurs en la matière et les différentes initiatives communautaires ou propriétaires présentes ou passées.
Les progrès réalisés dans le cadre de l'initiative JSR 220 (EJB 3.0) sont mis en avant, et la lourdeur d'une persistance non transparente avec JDBC (jusqu'à sa version 3 comprise) est pointée du doigt.
L'auteur, membre de l'équipe Hibernate, présente ensuite les bibliothèques qui composent Hibernate, les dépendances, et quelques prérequis pour commencer à exploiter Hibernate dans sa version 3.
Toute la suite de l'ouvrage repose sur une étude de cas (gestion d'une équipe de sport) et introduit progressivement les mécanismes d'Hibernate.
Rien n'est omis, en voici une liste non exhaustive : héritage, associations, grappes d'objets, stratégies de modélisation et de chargement, filtres, requêtes HQL, API Criteria, QBE, requêtes SQL natives, CRUD, transactions, ...
Dans les derniers chapitres sont notamment évoqués le mapping de classes dynamiques, le mapping XML/relationnel, ainsi que les divers outils complétant Hibernate. On trouvera notamment une description de l'utilisation de XDoclet et un aperçu de ce que sera la version 3.x d'Hibernate qui supportera la norme EJB 3.0 à travers la déclaration du mapping par l'intermédiaire d'annotations.
2. La critique▲
2-1. La présentation d'Hibernate▲
L'auteur participant à la traduction de la documentation officielle d'Hibernate, on pourrait craindre de faire face à une documentation plutôt qu'à un livre. Rassurez-vous, c'est loin d'être le cas, l'ouvrage se détache suffisamment de la documentation de référence pour que le lecteur y trouve un intérêt.
L'ouvrage se lit d'ailleurs très bien et se situe à un bon équilibre entre l'ouvrage pédagogique et l'ouvrage professionnel.
2-2. Le fil conducteur▲
Contrairement à d'autres livres qui se reposent sur une étude de cas, l'auteur à su concilier théorie et pratique permettant de tenir le lecteur en alerte afin de lui communiquer les messages importants.
Ainsi, le fil conducteur qu'est la gestion d'une équipe de sport ne prend pas le dessus sur l'énoncé et la description des problématiques et solutions. L'étude de cas ne reste donc qu'un support de communication, et ne focalise pas l'attention du lecteur. Celui-ci peut ainsi davantage être réceptif aux informations que lui transmet l'auteur.
2-3. Un condensé d'informations▲
L'auteur a réussi à retranscrire en un peu plus de 300 pages une quantité/richesse d'informations importante. Une fois les objectifs énoncés, le lecteur est réellement initié à l'utilisation de ce framework de persistance.
Mais l'auteur ne s'arrête pas là (cf. le titre de l'ouvrage) car il garde constamment à l'esprit des problématiques telles que la performance et l'intégrité des données.
2-4. Illustrations et ressources▲
Les illustrations/exemples sont nombreux et pertinents, et reposent sur le modèle métier présenté en début d'ouvrage, avec quelques ajustements nécessaires à l'illustrations de certaines problématiques.
L'auteur insiste également sur les outils/helpers disponibles et facilitant la mise en place d'Hibernate et son utilisation.
Enfin, les références et liens vers des ressources web abondent, et permettront sans aucun doute à ceux qui le désirent d'approfondir tel ou tel aspect évoqué.
On regrettera l'absence d'un support, mais il faut croire que la mise à disposition des sources via internet est désormais monnaie courante.
3. Conclusion▲
Quelles que soient vos attentes, cet ouvrage est susceptible d'y répondre.
Il vous présente de manière complète et structurée Hibernate 3, sans pour autant oublier l'objectif final qu'est l'implémentation de la spécification EJB 3.0.
Vous y trouverez de multiples conseils, recommandations, astuces, et références, vous mettant dans de bonnes conditions pour la mise en place et/ou l'utilisation d'Hibernate.
Remerciements à 2Eurocents pour sa relecture.