Bonjour,
J'essai de faire une requete avec une jointure sur la meme table, c'est a dire :
Personne(id,nom,age)
je veux toutes les personnes qui ont une difference d'age inferieur a 7 ans (c'est stupide je sais mais c'est juste un exemple)
Je fais donc :
Select * from Personne as p1 full join Personne as p2 where p1.id > p2.id and ABS(p1.age - p2.age) < 7
En hibernate ca donne ca :
J'ai 2 petites questions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Session session = HibernateUtil.currentSession(); Transaction tx= session.beginTransaction(); List list = session.createQuery( "select * from Peronne as p1 join Personne as p2 where p1.id > p2.id and ABS(p1.age - p2.age) < 7") .list(); tx.commit;
1 : ma requete ne marche pas, j'ai une erreur de type : outer or full join must be followed by path expression [select * from Peronne as p1 join Personne as p2 where p1.id > p2.id and ABS(p1.age - p2.age) < 7]
je ne comprend pas pourquoi, j'ai regardé la doc d'hibernate is y a un exemple un peu similaire a celui ci...
2 : dans l'optique ou ca marchera un jour, comment faire pour recuperer le resultat de la requete ? Je vais obtenir une liste mais comment acceder a la colonne id de la ligne i ?
Merci par avance, j'ai comme meme pas mal cherché par moi meme avant de poster ce message
Partager