HQL version d'une jointure SQL avec group by
J'ai deux tables, de Bande et de la Voix. La bande a un nom et un id, et la Voix a un total_votes colonne et une clé étrangère appelée band_id de pointage de la bande.id.
J'ai beaucoup de votes, enregistrées à des dates différentes. Ce que je veux faire est de trouver la valeur maximale de la total_votes colonne pour chaque bande. La requête SQL suivante fonctionne:
select b.name,max(v.total_votes) as total from band b, votes v
where b.id=v.band_id
group by b.name order by total desc;
Le système, je suis travailler avec, cependant, utilise Hibernate. Je tiens à re-écrire que la requête SQL que soit HQL ou Hibernate critères de requête.
C'est facile et je suis juste en manque? Merci pour toute aide.
OriginalL'auteur kousen | 2010-08-04
Vous devez vous connecter pour publier un commentaire.
Dans les requêtes HQL, pourriez-vous donner à ceci un essai:
Cela suppose qu'il existe une un-à-plusieurs association entre
Band
etVotes
(en fait, en fournissant le modèle d'objet est très utile lorsque vous travaillez avec HQL et/ou les Critères de l'API depuis vous interrogez le modèle d'objet).Juste au cas où, voici la section pertinente de la documentation:
OriginalL'auteur Pascal Thivent