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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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))
, 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 :s

voilà ma classe Proprietes :
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
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;
	}
}
et voilà ma requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
	}
Merci d'avance à ceux qui m'aideront.