Salut a tous ^^
Les noms de classe ne sont pas realiste, c'est juste un exmple
J'ai une classe Voiture :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Class Voiture{
long id;
Set<Roue> roues;
//getter & setters
//constructor
}
Et la classe Roue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Class Roue{
long id;
Gente gente;
//getter & setters
//constructor
}
Maintenant la classe Gente:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Class Gente{
String modeleGente;
//getter & setters
//constructor
}
Voici mon mapping de Voiture :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
<class name="Voiture"
		table="voiture">
		<id name="id" column="voiture_id" type="long">
			<generator class="native" />
		</id>
                <property name="nameVoiture" column="nameVoiture";
		<set name="roues" table="RoueVoiture" cascade="all">
			<key column="voiture_id" />
			<many-to-many column="roue_id" unique="true"
				class="Roue" />
		</set>
Et enfin le mapping de roue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<class name="Roue"
		table="roue">
		<id name="id" column="roue_id" type="long">
			<generator class="native" />
		</id>
                <component name="gente"
				class="Gente">
				<property name="modeleGente" column="modeleGente" not-null="true" />
		</component>
Mon probleme est ici ans VoitureDao, j'ai cette fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public Siege loadVoitureSiege(String nameVoiture, String modeleGente) {
        DetachedCriteria criteria = DetachedCriteria.forClass(Voiture.class).add(Restrictions.eq("nameVoiture", nameVoiture));
        criteria.add(Restrictions.eq("roues.gente.modeleGente", modeleGente));
        List<Gente> result = getHibernateTemplate().findByCriteria(criteria);
        if (result.size() != 0)
            return (Gente) result.get(0);
        else
            return null;
    }
cette fonction ne fonctionne pas, et me retourne une exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
org.hibernate.QueryException: could not resolve property:roues.gente.modeleGente of: package.etc.Voiture
Pourquoi ai je cette exception et comment modifier mon code pour qu'elle marche ?