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 :
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;
J'ai 2 petites questions :

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