eadl:bloc3:dev_av:td2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
eadl:bloc3:dev_av:td2 [2025/11/09 16:27] jcheroneadl:bloc3:dev_av:td2 [2025/11/09 16:30] (Version actuelle) jcheron
Ligne 1: Ligne 1:
-Voici la séance avec les exemples de code en Kotlin :+====== - JPA Avancé et Optimisation ======
  
-# ====== - JPA Avancé et Optimisation ======+Séance (4h)
  
-**Séance 2 (4h)**+Contexte : fil rouge e-commerce
  
-**Contexte :** fil rouge e-commerce +===== Objectifs pédagogiques =====
- +
-## ===== Objectifs pédagogiques =====+
  
   * Maîtriser les associations bidirectionnelles et leurs pièges   * Maîtriser les associations bidirectionnelles et leurs pièges
Ligne 14: Ligne 12:
   * Optimiser les requêtes avec fetch strategies et projections   * Optimiser les requêtes avec fetch strategies et projections
  
-## ===== Partie 1 : Associations JPA (1h30) =====+===== Partie 1 : Associations JPA (1h30) =====
  
-### ==== 1.1 Implémentation des associations manquantes ====+==== 1.1 Implémentation des associations manquantes ====
  
 <WRAP round bloc todo> <WRAP round bloc todo>
Ligne 32: Ligne 30:
   * Lazy vs Eager loading   * Lazy vs Eager loading
  
-### ==== 1.2 Exercice pratique : Orders & OrderItems ====+==== 1.2 Exercice pratique : Orders & OrderItems ====
  
 <sxh kotlin> <sxh kotlin>
Ligne 204: Ligne 202:
 </sxh> </sxh>
  
-### ==== Chargement minimaliste ====+==== Chargement minimaliste ====
 Pour recréer à moindre coût une relation (sans charger complètement l'instance depuis le repository) Pour recréer à moindre coût une relation (sans charger complètement l'instance depuis le repository)
  
Ligne 211: Ligne 209:
 </sxh> </sxh>
  
-## ===== Partie 2 : Problèmes de performance (1h30) =====+===== Partie 2 : Problèmes de performance (1h30) =====
  
-### ==== 2.1 Diagnostic du problème N+1 ====+==== 2.1 Diagnostic du problème N+1 ====
  
 <WRAP round bloc important> <WRAP round bloc important>
Ligne 228: Ligne 226:
 </WRAP> </WRAP>
  
-### ==== 2.2 Solutions d'optimisation ====+==== 2.2 Solutions d'optimisation ====
  
 **À implémenter et comparer :** **À implémenter et comparer :**
Ligne 292: Ligne 290:
 </sxh> </sxh>
  
-## ===== Partie 3 : Héritage JPA (1h) =====+===== Partie 3 : Héritage JPA (1h) =====
  
-### ==== 3.1 Cas d'usage : Typologie de produits ====+==== 3.1 Cas d'usage : Typologie de produits ====
  
 <WRAP round bloc idea> <WRAP round bloc idea>
Ligne 307: Ligne 305:
 </WRAP> </WRAP>
  
-### ==== 3.2 Implémentation avec stratégies d'héritage ====+==== 3.2 Implémentation avec stratégies d'héritage ====
  
 **À explorer (au choix ou comparaison) :** **À explorer (au choix ou comparaison) :**
Ligne 414: Ligne 412:
   * Avantages/inconvénients de chaque stratégie   * Avantages/inconvénients de chaque stratégie
  
-### ==== 3.3 Requêtes polymorphiques ====+==== 3.3 Requêtes polymorphiques ====
  
 <sxh kotlin> <sxh kotlin>
Ligne 448: Ligne 446:
 </sxh> </sxh>
  
-## ===== Partie 4 : Hypersistence Utils - Outils avancés (30min-1h) =====+===== Partie 4 : Hypersistence Utils - Outils avancés (30min-1h) =====
  
-### ==== 4.1 Introduction à Hypersistence Utils ====+==== 4.1 Introduction à Hypersistence Utils ====
  
 <WRAP round bloc info> <WRAP round bloc info>
Ligne 470: Ligne 468:
 </sxh> </sxh>
  
-### ==== 4.2 Détection automatique des problèmes N+1 ====+==== 4.2 Détection automatique des problèmes N+1 ====
  
 <WRAP round bloc important> <WRAP round bloc important>
Ligne 498: Ligne 496:
   * Corriger les problèmes détectés   * Corriger les problèmes détectés
  
-### ==== 4.3 Types JSON natifs ====+==== 4.3 Types JSON natifs ====
  
 <WRAP round bloc todo> <WRAP round bloc todo>
Ligne 571: Ligne 569:
   * Filtrer les produits par attribut : ''GET /products?attr.color=Blue''   * Filtrer les produits par attribut : ''GET /products?attr.color=Blue''
  
-### ==== 4.4 Optimisation des identifiants avec Tsid ====+==== 4.4 Optimisation des identifiants avec Tsid ====
  
 <WRAP round bloc info> <WRAP round bloc info>
Ligne 689: Ligne 687:
 <html></div></html> <html></div></html>
  
-### ==== 4.5 Monitoring des requêtes en temps réel ====+==== 4.5 Monitoring des requêtes en temps réel ====
  
 === DataSourceProxyBeanPostProcessor === === DataSourceProxyBeanPostProcessor ===
Ligne 738: Ligne 736:
 </sxh> </sxh>
  
-### ==== 4.6 Exercice intégratif ====+==== 4.6 Exercice intégratif ====
  
 <WRAP round bloc todo> <WRAP round bloc todo>
Ligne 787: Ligne 785:
 </WRAP> </WRAP>
  
-## ===== Configuration complète =====+===== Configuration complète =====
  
 <sxh bash> <sxh bash>
Ligne 819: Ligne 817:
 </sxh> </sxh>
  
-## ===== Livrables attendus =====+===== Livrables attendus =====
  
 <WRAP round bloc todo> <WRAP round bloc todo>
Ligne 839: Ligne 837:
 </WRAP> </WRAP>
  
-## ===== Ressources =====+===== Ressources =====
  
   * [[https://vladmihalcea.com/tutorials/hibernate/|Hibernate Performance Best Practices]]   * [[https://vladmihalcea.com/tutorials/hibernate/|Hibernate Performance Best Practices]]
  • eadl/bloc3/dev_av/td2.1762702034.txt.gz
  • Dernière modification : il y a 3 mois
  • de jcheron