J'ai une table avec la structure suivante:mise en veille prolongée hql getMaxVersion
reportId
Version
Titre
.....
Je veux utiliser HQL pour aller chercher la dernière version de la rapport par id. La requête suivante fonctionnerait-elle?
from Report where reportId = :reportId and version = (select max(version) from Report where reportId = :reportId)
Est-il possible de récupérer la ligne avec la version maximale sans l'aide d'un sous-sélection? Est-ce que le sous-select ci-dessus est même légal en Hibernate HQL?
Cela couvre 99% des cas d'utilisation, mais si je veux récupérer une liste de titres pour tous les rapports? Par exemple, un menu déroulant avec les titres de TOUS les rapports qui peuvent être produits par le système .... – David
SELECT reportId, title, max (version) FROM rapport GROUP BY reportId. Mais vous devez utiliser des projections dans ce cas. – uthark