Salut a tous ^^
Les noms de classe ne sont pas realiste, c'est juste un exmple
J'ai une classe Voiture :
Et la classe Roue:
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 }
Maintenant la classe Gente:
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 }
Voici mon mapping de Voiture :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Class Gente{ String modeleGente; //getter & setters //constructor }
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
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>
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 <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>
cette fonction ne fonctionne pas, et me retourne une exception :
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; }
Pourquoi ai je cette exception et comment modifier mon code pour qu'elle marche ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2org.hibernate.QueryException: could not resolve property:roues.gente.modeleGente of: package.etc.Voiture
Partager