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:
En HQL, c'est compliqué (peut être parce que j'ai mal configuré mes classes):
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
Ma requête:
J'obtiens l'erreur: Path expected for join!
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
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; }
Partager