Déchiffrez les traces logs générés par Hibernate. Comprenez les étapes clés au démarrage, ainsi que les options de configuration par défaut d’hibernate. Modifiez certaines configurations et analysez l’impact.
Objis, spécialiste de la formation Java, est heureux de vous offrir ce
tutoriel, extrait de séances pratiques de la formation HIBERNATE dispensée par Objis.
Les + objis
70% de travaux pratiques
Clé USB avec tous les outils utilisés + Corrigés TPs
Bilan pédagogique individuel + conseils
Prérequis, outils et versions
Tutoriel JPA N°2 : votre première application jpa
Liens utiles
+ de 100 tutoriaux java/jee Objis
Tutoriaux JPA Objis
Objis, spécialiste formation java depuis 2005
Site hibernate (javadoc, FAQ)
Documentation (chap. 10) : working with objects
Objectifs
Comprendre les logs générés par JPA
Analysez certaines configurations par défaut.
Programme
Introduction & Logs à analyser
Partie 1 : Config. JPA et binding
Partie 2 : Connexion à la base
Partie 3 : Requêtes
Partie 4 : mise en œuvre Log4j
Durée
30 min.
Introduction & Logs à analyser
Ci-dessous le fichier de logs suite au Tutoriel JPA N°2 : votre première application jpa.
L’objectif de ce tutoriel est de mieux comprendre le contenu de ce fichier ainsi que certaines options de configurations associées.
Partie 1 : Config. hibernate et binding
Fichier de configuration
Au préalable, JPA trouve dans le fichier de configuration, l’unité de persistance (ligne 5) demojpa-pu
Ensuite, le programme recherche le fichier de configuration hibernate.properties qu’il ne trouve pas (ligne 8)
notification de la prise en compte des annotations afin de créer les tables à partir des annotations contenues dans les classes (ligne 10)
notification de la connexion en base de données avec une configuration à ne pas utiliser en production car les informations de login/pass sont inscrites en clair dans le fichier. (ligne 11)
Binding Objet / Table
Juste après avoir trouvé le fichier persistence.xml , JPA s’assure de la validité de la configuration statique de la persistance des objets métiers déclarés dans ce fichier.
Partie 2 : Connexion à la base
ici :
— les informations de connections sont utilisées et la connexion à la base est effectuée (ligne 12 à 19)
— JPA trouve une ligne associée à la déclaration du mapping de la classe Formation vers la table FORMATIONS (ligne 7)
— JPA réalise un binding entre l’Objet métier Formation et la table FORMATIONS.
Dialect
Identification de la base de données et driver , ici Mysql (ligne 15)
Identification du Dialect à utiliser. Ici MySQLDialect (ligne 16)
Translation de requête
La ligne 17 indique les requêtes vont être translatées en un langage compréhensible par la base de données (de HQL vers SQL par exemple)
Using ASTQueryTranslatorFactory
Partie 3 : Requêtes
les dernières lignes (18 à 36) indiquent que JPA crée à partir des annotations trouvées dans les classes, les tables correspondantes en base de donnée et insère en base les enregistrements. Ici pour notre exemple la table formation.
Cette étape est visible grâce à l’ajout dans le fichier persistence.xml de la propriété
Partie 4 : Mise en oeuvre de Log4j
Pour une analyse plus fine du fonctionnement d’hibernate, l’interface simple de SL4J ne suffit plus. Nous allons profiter de l souplesse de Log4j.
Ajouter à la racine de src un fichier log4j.properties comme celui-ci
Puis lancez-à nouveau l’application.
QUESTIONS :
— Quelles traces apparaissent ?
— Expliquez le contenu du fichier log4j.properties.
— Comment faire pour avoir plus de traces ?
— Comment faire pour envoyer ces traces dans un fichier ? Dans un tableau HTML ? Par mail ?
Conclusion
Dans ce tutoriel, vous avez analysé les logs JPA générés dans le cadre du Tutoriel JPA N°2 : votre première application JPA .