TP JPA : Interrogation avancée avec une bibliothèque universitaire
Java
JPA
I211
TP
Mise en pratique des différentes techniques d’interrogation JPA
1 Objectif
Implanter un système de gestion de bibliothèque universitaire. Illuster l’utilisation des identifiants, de l’héritage et des requêtes JPQL.
2 Modèle de données
Utilisez le projet : https://github.com/ebpro/sample-jpalibrary
- Etudier le projet
- Etudier le schéma relationnel généré
- Changer la stratégie d’héritage pour
Document
et observer les différences. - Etudier les IDs
3 Exercices d’interrogation
3.1 Requêtes JPQL basiques
- Lister tous les documents d’un auteur
- Trouver les emprunts en cours
- Compter le nombre d’emprunts par utilisateur
3.2 Projections et DTOs
- Créer un DTO pour les statistiques d’emprunt
- Utiliser des projections pour les résumés de documents
3.3 Named Queries
- Définir des requêtes nommées pour les recherches fréquentes
3.4 (Facultatif) Entity Graphs
- Optimiser le chargement des associations avec les Entity Graphs
3.5 (Facultatif) Criteria API
- Implémenter une recherche via l’API
- Construire des requêtes dynamiques
4 Pattern Repository
- Ajouter un repository pour gérer les différentes entités.
- Mettez à jour et compléter si besoin les générateurs de données.
5 (Facultatif) pour aller plus loin
- Contrôler vos entités avec des Bean Validation : https://bruno.univ-tln.fr/notebooks-develop/notebook-java-beanvalidation/
- Ajouter des tests unitaires et d’intégration