Jakarta Persistence et Hibernate
Souvent utilisé comme implémentation de l'API JPA, Hibernate est un framework phare de l'écosystème Java. Il fournit une solution de persistance, la base de données est alors considérée comme l'espace de stockage des entités du modèle.
Ce cours vous permettra d'acquérir les bases d'Hibernate et d'assimiler ses nombreuses subtilités, condition nécessaire à une utilisation sereine et maitrîsée.
(17,5 heures)
Développeurs et développeuses Java, architectes
Accessible aux personnes en situation de handicap
DélaiLe cours peut être organisé dans un délai d'un mois.
Objectifs
A l'issue du cours vous saurez:- écrire un mapping entre des entités Java et des tables;
- utiliser l'
EntityManager
pour réaliser les opérations CRUD; - analyser les requêtes SQL exécutées par Hibernate;
- appliquer des transactions pour garantir la cohérence de la base de données.
- utiliser le cache pour améliorer les performances .
Prérequis
Ce cours demande une connaissance solide des bases de la programmation Java (principes de la programmation orientée objet, types génériques, annotations, expressions lambda), une habitude de travailler avec Eclipse ou IntelliJ.
Méthodes pédagogiques
- Explication, pour chaque concept, du problème qu'il prétend résoudre.
- Mise en pratique d'un concept immédiatement après qu'il ait été présenté.
- Validation de chaque étape par exécution de tests unitaires.
- Exercice « fil rouge » pour obtenir en fin de cours une application complète.
- QCM en fin de chapitre pour s'assurer de l'acquisition des connaissances.
Programme détaillé
Accès aux données: introduction, rappels, bonnes pratiques
- Les différents types de base de données (SQL, NoSQL).
- L'exécution non bloquantes des opérations I/O.
- L'utilisation d'un pool de connexions.
- Les transactions.
- Le mapping objet / base de données.
Mise en pratique: étude des table et des entités qui seront utilisées pour les exercices.
Prise en main d'Hibernate en tant qu'implémentation de Jakarta Persistence API
- La déclaration du pool de connexions.
- L'
EntityManagerFactory
et son paramétrage. - L'
EntityManager
et son cycle de vie. - Les transactions.
- Les logs.
Mise en pratique: configuration des liaisons entre la base de données et Hibernate.
Le mapping des entités vers les tables de la base de données
- Identifiant et propriétés basiques.
- Les relations d'associations.
- Les relations de compositions.
- L'héritage.
- Les converters.
- Les observateurs d'évènements.
Mise en pratique: écriture d'un mapping par annotations entre les entités et les tables.
Les opérations CRUD avec l'EntityManager
- Le cycle de vie de l'
EntityManager
et le rôle du conteneur (CDI, Spring). - Les opérations create, read, update, delete.
- Les états d'une entité: attachée, détachée, transiente.
- Le lazy loading.
- Le cache de niveau 1, de niveau 2.
- Les requêtes avec le langage JPQL.
- Les requêtes natives.
Mise en pratique: manipulation d'entités persistance avec l'EntityManager
dans un
projet, écriture
de requêtes, démarcation transactionnelle.
Prix et financements
2 12
Réduction de 50% pour les associations reconnues d'utilité publique.
Sources de financements pour les organisations françaises:
- prise en charge tout ou partie du coût de la formation par votre opérateur de compétence (OPCO);
- Le dispositif FNE formation si votre organisation est éligible.
- Le plan de développement des compétences de votre entreprise (renseignez-vous auprès de votre service RH).