Bonjour,
J'ai lu pas mal de tutoriel sur internet mais aucun d'entre eux ne m'a apporté de solution. Peut - être ai je mal diagnostiqué le problème. Cependant, j'aimerai avoir votre point de vue.
(NE faites pas attention à la logique j'ai changer le nom des tables
J'ai trois tables: personne (n) <--> (n) personne_ville <--> (n) ville
La table personne_ville contient juste la PK de personne et de ville.
Ce qui est OK:
- J'ai bien l'information sur les villes (j'obtiens bien la liste)
- J'ai bien l'information sur les personnes (j'obtiens bien la liste)
Ce qui ne va pas :
- La liste des villes d'une personne ne se charge pas (j'ai été voir en mode debug, et la liste ville dans personne reste toujours vide)
- La Liste des personnes d'une ville ne se charge pas (même problème)
Conclusion: il doit y avoir un problème au chargement de la table qui fait le lien (mapping ou autres)
Mapping hibernate:
Extrait du mapping de la table personne
Extrait du mapping de la table ville
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <set name="villes" inverse="true" lazy="true" table="personne_ville" fetch="select"> <key> <column name="personne_id" length="3" not-null="true" /> </key> <many-to-many entity-name="my.dao.model.refVille"> <column name="ville_id" length="5" not-null="true" /> </many-to-many> </set>
Et dans les classes refVille et refPersonne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <set name="personnes" inverse="false" lazy="true" table="personne_ville" fetch="select"> <key> <column name="ville_id" length="3" not-null="true" /> </key> <many-to-many entity-name="my.dao.model.refPersonne"> <column name="personne_id" length="5" not-null="true" /> </many-to-many> </set>
private Set<refVille > villes
private Set<refPersonne> personnes
Solution que j'ai essayé de manière unique et mélanger aux autres:
- mettre cascade="all"
- remplacer entity-name par class
- changer le inverse=false en true
- rajouter des les classes = new HashSet<refVille >(0) et de refPersonne ainsi que dans le constructeur la liste propre pour chaque classe (il y a bien les setters / getters)
Cependant, le lien entre mes tables ne s'instancie jamais...
Je n'ai plus d'idée et plus de soluce google (d'ailleurs pour mon problème, chaque solution est différente, chose que je trouve étrange...surtout qu'aucune ne marche pour moi)
Merci d'avance![]()
Partager