Bonjour,
je suis coincé lors de la jointure, à chaque fois j'obtiens le message d'erreur suivante : "ERREUR: la colonne t0.prop_id n'existe pas" et voici la requête qui est appelée :
, et pour "t0.prop_id = t1.car_fk_proprietes" ça devrait être t1.prop_id = t0.car_fk_proprietes, j'ai donc besoin d'aide pour cela :sCode:Call: SELECT t1.prop_id, t1.prop_nom FROM caracteristiques t0, proprietes t1 WHERE ((t0.car_fk_produits = ?) AND (t0.prop_id = t1.car_fk_proprietes))
voilà ma classe Proprietes :
et voilà ma requête :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 @Entity @Table(name="proprietes") public class Proprietes { private int id; private String nom; private List<Caracteristiques> caracteristiques; @Id @Column(name="prop_id") @GeneratedValue(strategy=GenerationType.IDENTITY) public int getId() { return id; } public void setId(int id) { this.id = id; } @Column(name="prop_nom") public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } @OneToMany(targetEntity=Caracteristiques.class) @JoinColumn(name="prop_id", referencedColumnName="car_fk_proprietes") public List<Caracteristiques> getCaracteristiques() { return caracteristiques; } public void setCaracteristiques(List<Caracteristiques> caracteristiques) { this.caracteristiques = caracteristiques; } }
Merci d'avance à ceux qui m'aideront.Code:
1
2
3
4
5
6
7
8
9
10 public List<Proprietes> configurerParProdId(int id) { EntityManager em = this.emf.createEntityManager(); em.getTransaction().begin(); List<Proprietes> caracteristiques = em.createQuery( "SELECT prop FROM Proprietes AS prop JOIN prop.caracteristiques AS car WHERE car.produits = :id", Proprietes.class).setParameter("id", id).getResultList(); em.getTransaction().commit(); em.close(); return caracteristiques; }