Bonjour,

Je ne parviens pas à paramétrer mes classes pour utiliser correctement mes requêtes en HQL.

J'ai 3 tables: reglement, moyen_paiement (id_moyen), prelevement
id_moyen est rappatrié dans les 2 autres tables pour une relation de type 1-1. (sauf pour prelevement qui sera 0-1)

L'idée, c'est accéder en HQL aux prélèvements d'un règlement.
En SQL, c'est facile:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select p.* from reglement r join prelevement p on r.id_moyen=p.id_moyen
En HQL, c'est compliqué (peut être parce que j'ai mal configuré mes classes):
Ma requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select p from reglement r inner join prelevement p where r.moyenpaie.idmoyenpaie=p.moyenpaie.idmoyenpaie
J'obtiens l'erreur: Path expected for join!

Mes classes (avec les parties concernées seulement):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class reglement implements java.io.Serializable {
[...]
	@ManyToOne
	@JoinColumn(name = "IDMOYENPAIE")
	@ForeignKey(name = "FK_LIGNEREGLEMENT_MOYENPAIEMENT")
	@Fetch(FetchMode.JOIN)
	private Moyenpaiement moyenpaie;
 
}
 
public class Moyenpaiement implements java.io.Serializable {
   @Id
   @Column(name = "IDMOYENPAIE",nullable=false)
   private Long idmoyenpaie;
}
 
public class prelevement implements java.io.Serializable {
   @ManyToOne
   @JoinColumn(name="IDMOYENPAIE")
   @ForeignKey(name="FK_DEMANDEPREL_MOYENPAIEMENT")
   @Fetch(FetchMode.JOIN)
   private Moyenpaiement moyenpaie;
}