j'ai une requête qui renvoie une liste d'objets comme par exemple:une colonne dans hql clause select sans réellement utiliser cette colonne
select distinct ref from references where [...]
Je voudrais commander ces par un champ non sur ref mais une association de référence, à savoir:
select distinct ref from references where [...] order by ref.foo.name
Malheureusement, cela ne fonctionne pas dans Oracle (une fois que la requête est traduite en SQL) car il ne peut effectuer un tri sur cette colonne si elle est incluse dans la sélection. Y a-t-il un moyen de renvoyer la colonne, sans que Hibernate ne la prenne en charge? Je voudrais juste retourner une liste au lieu de devoir balayer avec les tableaux Object [] qu'elle renverrait autrement.
Dans le cas d'OP, cela n'est pas possible à cause du DISTINCT. Lorsque vous utilisez DISTINCT, cela n'a pas vraiment de sens de commander par quelque chose qui ne figure pas dans la liste SELECT. –
Je suppose que je n'étais pas très clair. La requête est en HQL. Il y a beaucoup d'une association de ref à foo de sorte qu'il y aura un ref.foo.name pour chaque ref. En langage SQL, je pouvais simplement écrire moi-même la jointure et ajouter le champ au select, mais j'espérais ne pas avoir à réécrire la requête. – wds