SQLQuery utiliser les mappings pour le résultat
Bonjour,
Je dois récupérer des objets en jouant une requête un peu spéciale, j'ai donc utilisé SQLQuery. Malheureusement le résultat de la méthode list() est une implémentation de java.util.List (ArrayList d'après mon débugger) qui contient un tableau d'Object représentant mes colonnes.
Ce que je cherche à obtenir est une java.util.Lst content des objets maisons : 'Resource'.
Pour ne pas simplifier les choses, cet objet 'Resource' contient une liste d'objets 'Roles'.
Est-il possible via SQLQuery ou tout autre méthode de Session de récupèrer mes objets 'Resources' correspondant au résultat de la requête ?
Ma requête à jouer : (sans les jointures vers la tables des roles)
Code:
SELECT res.url, res.description FROM resources AS res WHERE :url LIKE translate(res.url, '*', '%')
Mon code :
Code:
1 2 3 4
| // queryGetMatchedResources est la requête décrite juste au dessus
SQLQuery query = session.createSQLQuery(queryGetMatchedResources);
query.setString("url", url);
List<Resource> lst = query.list(); |
Merci.
Si pas je ne vois que deux solutions :
1° Parcourir la liste de résultat et faire le 'mapping' à la main.
2° Récupérer uniquement les ids dans ma requête et passer par Hibernate pour récupérer les 'Resource' avec l'id correspondant.