Maîtrisez les techniques de récupération de données avec Hibernate. Cmprenez le chargement d’un Objet à partir de sa clé primaire via get() ou load(). Identifiez les cas d’utilisation de HQL. Comparez l’utilisation de HQL et de l’API Criteria. Identifiez la meilleure stratégie de fetching en fonction de votre besoin.
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
Tutoriel Hibernate N°2 : votre première application hibernate
+ de 100 tutoriaux java/jee Objis
Tutoriaux HIBERNATE Objis
Objis, spécialiste formation java depuis 2005
Site hibernate (javadoc, faq)
Documentation (chap. 10) : working with objects
Tuning performances avec taille du Fetch (nb enregistrements A/R)
Exemples tutos hibernate Roseindia
Comprendre les logs générés par Hibernate
Analysez certaines configurations par défaut.
Contexte : récupération de données
Partie 1 : Récupération à partir de la clé primaire
Partie 2 : Utiliser HQL (Hibernate Query Language)
Partie 3 : Utiliser l’API Criteria
Partie 3 : Stratégie de Fetching
30 min.
Les méthodes session.get() et session.load() vous permettent de charger un objet en mémoire à partir de son Id clé primaire en base de données.
Voir notre tutoriel hibernate N°4 : mapping association Many-to-one
Analysez le code suivant

commentez la requête générée

Analysez le code suivant

commentez la requête générée

En utilisant l’API Criteria, expliquer et mettez en oeuvre les méthodes suivantes :
— createCriteria
— add
— addOrder
— setFirstResult
— setMaxResults
— setFetchSize
Expliquez le rôle de la classe Restriction ainsi que des méthodes statiques suivantes :
— allEq
— between
— eq
— ge
— gt
— idEq
— like
— in
— isNotNull
— not
— or
Expliquez ce qu’est une projection SQL. Mettez en œuvre un exemple de projection permettant d’afficher uniquement les colonnes ’theme’ et ’duree’ de la table formation.
Par défaut, hibernate 3 utilise le retard au chargement (Lazy loading) : il essaiera de différer au maximum le chargement des objets impliqués dans une relation d’associations, ou d’une collection.
Par exemple, pour toute formation chargée, le lieu de la formation, les formateurs ainsi que les participants ne seront pas chargés.
Dans certains cas cependant (en particulier pour des objets détachés), vous souhaitez charger systématiquement un objet ou une collection d’objets associés à un objet.
Par exemple vous pouvez souhaiter qu’à chaque Formation chargée, le lieu de la formation ainsi que les formateurs soient chargés, alors que les participants de la formation bénéficieront du retard au chargement.
Dans ce type de cas, vous devez mettre en oeuvre une stratégie de fetching dans le paramétrage du mapping de la classe formation.
Dans ce tutoriel, vous avez mis en oeuvre des stratégies de récupération de données : récupération directe à partir de l’Id, récupération via l’API HQL, ou via l’API Criteria.

Si vous appréciez notre sens du partage, devenez membre ’classic’ du Club Objis.
Accélérez significativement votre maîtrise d’Hibernate avec un coach Objis : devenez membre Silver / Gold du Club Objis.