Spring Boot
Description
La formation aborde les contenus techniques suivants :
-
Introduction à l'ORM (Object-Relational Mapping) avec Hibernate
-
Configuration et intégration d'Hibernate avec JPA
-
Création d'entités et mapping avec Hibernate
-
Gestion des relations entre entités (OneToOne, OneToMany, ManyToMany)
-
Validation des données avec Hibernate Validator (JSR 303)
-
Utilisation des annotations de validation
-
Gestion des transactions et du contexte de persistance
-
Techniques d'optimisation des performances avec Hibernate
-
Utilisation des critères et de HQL (Hibernate Query Language)
-
Gestion des migrations de base de données avec Liquibase ou Flyway
Quels sont les buts de la formation ?
Les objectifs visés par cette formation sont :
-
Comprendre et utiliser les concepts de base d'Hibernate et JPA pour la gestion des données
-
Mapper des classes Java vers des tables de base de données relationnelle
-
Gérer les relations entre entités et leur cycle de vie
-
Valider les données des entités avant leur persistance en base
-
Optimiser les performances des requêtes et de la gestion des transactions
Que devez vous connaître pour suivre la formation ?
Connaissances avancées en Java.
Programme de la formation
Introduction à JPA et Hibernate
-
Concept d’ORM (Object-Relational Mapping)
-
Qu'est-ce que JPA et Hibernate ?
-
Installation et configuration d’Hibernate avec Maven
-
Différences entre JPA et Hibernate
Mapping d’entités avec JPA/Hibernate
-
Création de classes entités avec les annotations JPA (@Entity, @Table, etc.)
-
Mapping des attributs simples (@Column, @Id, @GeneratedValue)
-
Gestion des types de colonnes et des stratégies de génération de clés primaires
-
Mapping des relations entre entités : @OneToOne, @OneToMany, @ManyToOne, @ManyToMany
-
Cascade et gestion du cycle de vie des entités
Gestion des transactions
-
Le rôle du EntityManager et du contexte de persistance
-
Gestion des transactions (Java Transaction API - JTA)
-
Notions de commit, rollback, propagation des transactions
-
Transactions programmatiques vs déclaratives
Requêtes et récupération des données
-
Introduction à HQL (Hibernate Query Language)
-
Utilisation de JPQL (Java Persistence Query Language)
-
Création et exécution de requêtes avec l’API Criteria
-
Pagination et tri des résultats
-
Optimisation des requêtes (lazy loading vs eager loading)
Validation avec Hibernate Validator (JSR 303)
-
Introduction à la validation des données avec Hibernate Validator
-
Annotations de validation courantes : @NotNull, @Size, @Min, @Max, @Email, etc.
-
Validation des entités au moment de la persistance
-
Création de validations personnalisées
-
Gestion des groupes de validation
-
Intégration de la validation dans les formulaires et les API REST
Optimisation des performances
-
Utilisation du cache de premier niveau (EntityManager) et du cache de second niveau
-
Stratégies de fetching (lazy vs eager)
-
Gestion des batchs de requêtes pour optimiser les performances
-
Indexation des colonnes et optimisation des bases de données
Migration de schéma de base de données
-
Introduction aux outils de migration de base de données : Liquibase, Flyway
-
Configuration et utilisation pour gérer les évolutions du schéma
Exercices pratiques
-
Création d’un modèle de base de données et mapping des entités avec Hibernate
-
Gestion des relations entre entités et création de requêtes HQL
-
Validation des données avant persistance avec Hibernate Validator
-
Implémentation d’un système de transactions et gestion des transactions dans une application
-
Optimisation des requêtes avec des stratégies de fetching et l’utilisation des caches
-
Migrations de schéma de base de données avec Liquibase ou Flyway