2010-10-21 4 views
0

J'ai la situation suivante: un événement de classe qui possède une collection d'objets Participant, mais la classe Participant n'a aucune référence à l'événement. Donc, j'ai besoin d'obtenir les 5 premiers participants les plus récents d'un événement donné, je ne pouvais pas comprendre comment cela. Je sais qu'après avoir fait la requête j'ai juste besoin de limiter les résultats en définissant le paramètre maxResults dans mon entityManager. La raison pour cela est parce qu'en obtenant tous les participants tout le temps quand j'ai besoin de montrer que 5 a une incidence sur les performances de l'application.JPQL maxResults sur les objets de collection

avec JPQL je peux facilement récupérer les événements qui ont un participant donné: sélectionnez e de l'événement e où: participant à des éléments (e.participants) par ordre e.creationDate desc

Mais comment pourrais-je choisir la les participants d'un événement donné, je veux dire d'une manière qui me donne la possibilité de limiter le nombre maxResults comme dans la requête ci-dessus?

Un grand merci Thiago

Répondre

0

Avez-vous essayé

SELECT p FROM Event e JOIN e.participants p 
WHERE e.id = :id ORDER BY p.participationTime DESC 
+0

un grand merci! ... – Thiago

Questions connexes