Developpez.com

Une très vaste base de connaissances en informatique avec
plus de 100 FAQ et 10 000 réponses à vos questions

Critique du livre Hibernate 3.0 : Gestion optimale de la persistance dans les applications Java/J2EE

Image non disponible

Présentation et critique du livre Critique du livre Hibernate 3.0 : Gestion optimale de la persistance dans les applications Java/J2EE d'Anthony Patricio aux éditions Eyrolles.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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.

4. Liens

Articles et tutoriels Borland C++ Builder
Accédez à une base de données Access avec les composants du BDE
Guide d'installation de la RxLib sous BCB 6
Présentation et utilisation du plugin borCVS pour Borland C++ Builder 6
Articles et tutoriels Java
Présentation de l'API Reflection
Gestion d'images en base de données avec l'API JDBC
Interview et reportages
Compte rendu des conférences JAX 2006, Eclipse Forum Europe 2006, EAKon 2006
Interview d'Eric Lefevre, consultant chez Valtech, au sujet de l'Open Space Technology
Compte rendu des Valtech Days 2007
Autres articles et tutoriels
Introduction à CVS
Présentation du langage NICE
Critiques de livres
Jakarta Struts Par la pratique (Eyrolles)
Initiation à JSP (Eyrolles)
Gestion de projets avec Subversion (O'Reilly)
Struts - Les bonnes pratiques pour des développements web réussis (Dunod)
Hibernate 3.0 : Gestion optimale de la persistance dans les applications Java/J2EE (Eyrolles)
Analyse et conception orientées objet - Tête la première (O'Reilly)
Gestion de projet eXtreme Programming (Eyrolles)
Gestion de projet - vers les méthodes agiles (Eyrolles)
Autres liens sur Developpez.com
La FAQ C++ Builder
Les Sources C++ Builder
Les FAQs JAVA
  

Copyright © 2005 Ricky81. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.