From e3adf4b9168e339ffd75b2719c21885108081a1b Mon Sep 17 00:00:00 2001 From: AzraKayn/Axel Date: Mon, 1 Dec 2025 12:55:04 +0100 Subject: [PATCH 1/2] Exo JPQL --- .../fr/diginamic/ActeurRepositoryTest.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/test/java/fr/diginamic/ActeurRepositoryTest.java b/src/test/java/fr/diginamic/ActeurRepositoryTest.java index fa6e63e..a761eb4 100644 --- a/src/test/java/fr/diginamic/ActeurRepositoryTest.java +++ b/src/test/java/fr/diginamic/ActeurRepositoryTest.java @@ -32,7 +32,7 @@ public class ActeurRepositoryTest { @Test public void testExtraireActeursTriesParIdentite() { - TypedQuery query = em.createQuery("SELECT a FROM Acteur a", Acteur.class); + TypedQuery query = em.createQuery("SELECT a FROM Acteur a ORDER BY a.identite", Acteur.class); List acteurs = query.getResultList(); assertEquals(1137, acteurs.size()); @@ -44,7 +44,7 @@ public void testExtraireActeursTriesParIdentite() { */ @Test public void testExtraireActeursParIdentite() { - TypedQuery query = em.createQuery("SELECT a FROM Acteur a", Acteur.class); + TypedQuery query = em.createQuery("SELECT a FROM Acteur a WHERE a.identite = 'Marion Cotillard'", Acteur.class); List acteurs = query.getResultList(); assertEquals(1, acteurs.size()); @@ -57,7 +57,7 @@ public void testExtraireActeursParIdentite() { */ @Test public void testExtraireActeursParAnneeNaissance() { - TypedQuery query = em.createQuery("SELECT a FROM Acteur a", Acteur.class); + TypedQuery query = em.createQuery("SELECT a FROM Acteur a WHERE YEAR(a.anniversaire) = 1985", Acteur.class); List acteurs = query.getResultList(); assertEquals(10, acteurs.size()); @@ -69,7 +69,7 @@ public void testExtraireActeursParAnneeNaissance() { @Test public void testExtraireActeursParRole() { - TypedQuery query = em.createQuery("SELECT a FROM Acteur a", Acteur.class); + TypedQuery query = em.createQuery("SELECT a FROM Acteur a JOIN a.roles r WHERE r.nom = 'Harley Quinn'", Acteur.class); List acteurs = query.getResultList(); assertEquals(1, acteurs.size()); @@ -81,7 +81,7 @@ public void testExtraireActeursParRole() { */ @Test public void testExtraireActeursParFilmParuAnnee() { - TypedQuery query = em.createQuery("SELECT a FROM Acteur a", Acteur.class); + TypedQuery query = em.createQuery("SELECT a FROM Acteur a JOIN a.roles r JOIN r.film f WHERE f.annee = 2015", Acteur.class); List acteurs = query.getResultList(); assertEquals(119, acteurs.size()); } @@ -91,7 +91,7 @@ public void testExtraireActeursParFilmParuAnnee() { */ @Test public void testExtraireActeursParPays() { - TypedQuery query = em.createQuery("SELECT a FROM Acteur a", Acteur.class); + TypedQuery query = em.createQuery("SELECT a FROM Acteur a JOIN a.roles r JOIN r.film f JOIN f.pays p WHERE p.nom LIKE 'France'", Acteur.class); List acteurs = query.getResultList(); assertEquals(158, acteurs.size()); } @@ -102,7 +102,7 @@ public void testExtraireActeursParPays() { */ @Test public void testExtraireActeursParListePaysEtAnnee() { - TypedQuery query = em.createQuery("SELECT a FROM Acteur a", Acteur.class); + TypedQuery query = em.createQuery("SELECT a FROM Acteur a JOIN a.roles r JOIN r.film f JOIN f.pays p WHERE f.annee=2017 and p.nom LIKE 'France'", Acteur.class); List acteurs = query.getResultList(); assertEquals(24, acteurs.size()); } @@ -113,7 +113,7 @@ public void testExtraireActeursParListePaysEtAnnee() { */ @Test public void testExtraireParRealisateurEntreAnnee() { - TypedQuery query = em.createQuery("SELECT a FROM Acteur a", Acteur.class); + TypedQuery query = em.createQuery("SELECT a FROM Acteur a JOIN a.roles r JOIN r.film f JOIN f.realisateurs re WHERE f.annee>2010 AND f.annee<2020 AND re.identite='Ridley Scott' ", Acteur.class); List acteurs = query.getResultList(); assertEquals(27, acteurs.size()); } @@ -123,7 +123,7 @@ public void testExtraireParRealisateurEntreAnnee() { */ @Test public void testExtraireRealisateursParActeur() { - TypedQuery query = em.createQuery("SELECT r FROM Realisateur r", Realisateur.class); + TypedQuery query = em.createQuery("SELECT r FROM Realisateur r JOIN r.films f JOIN f.roles ro WHERE ro.acteur.identite LIKE 'Brad Pitt'", Realisateur.class); List acteurs = query.getResultList(); assertEquals(6, acteurs.size()); } From 730c4b500b00fdae164324ed0716486b2d426a1c Mon Sep 17 00:00:00 2001 From: AzraKayn/Axel Date: Mon, 1 Dec 2025 19:10:34 +0100 Subject: [PATCH 2/2] . --- src/test/java/fr/diginamic/ActeurRepositoryTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/fr/diginamic/ActeurRepositoryTest.java b/src/test/java/fr/diginamic/ActeurRepositoryTest.java index a761eb4..f49dac6 100644 --- a/src/test/java/fr/diginamic/ActeurRepositoryTest.java +++ b/src/test/java/fr/diginamic/ActeurRepositoryTest.java @@ -81,7 +81,7 @@ public void testExtraireActeursParRole() { */ @Test public void testExtraireActeursParFilmParuAnnee() { - TypedQuery query = em.createQuery("SELECT a FROM Acteur a JOIN a.roles r JOIN r.film f WHERE f.annee = 2015", Acteur.class); + TypedQuery query = em.createQuery("SELECT a FROM Acteur a JOIN a.roles r WHERE r.film.annee = 2015", Acteur.class); List acteurs = query.getResultList(); assertEquals(119, acteurs.size()); }