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



Chargement...