Hello !
J'ai comme un problème de cast.
J'ai une classe dirigeant et une classe societe. chacun de ces objets dispose d'un HashSet de l'autre, c'est a dire par exemple un objet dirigeant a un HashSet de societe.
j'utilise les HashSet de java.util.*, pour les 2 classes. Pour le hashset de la classe dirigeant cela ne pose apparemment pas de problème (je peux sauver dans la db un dirigeant) mais pour la classe societé la ca va plus j'ai une erreur du compilateur :
et le programme se plante sans avoir ajouter la société dans la db. Alors que le code est casi identique d'une classe à l'autre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 11:32:36,486 DEBUG WrapVisitor:87 - Wrapped collection in role: be.adessa.modele.Societe.dirigeants 11:32:36,486 ERROR BasicPropertyAccessor:94 - IllegalArgumentException in class: be.adessa.modele.Societe, setter method of property: dirigeants 11:32:36,486 ERROR BasicPropertyAccessor:98 - expected type: java.util.HashSet, actual value: org.hibernate.collection.PersistentSet
partie de la classe societé
partie de la classe dirigeant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 import java.util.HashSet; import java.util.Set; private Set<Dirigeant>dirigeants = new HashSet<Dirigeant>(); public Set<Dirigeant> getDirigeants() { return dirigeants; } public void setDirigeants(HashSet<Dirigeant> dirigeants) { this.dirigeants = dirigeants; }
et pour faire le mapping association j'utilise une table intermédiare entre la table dirigeant et la table societé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 import java.util.HashSet; import java.util.Set; private Set<Societe>societes = new HashSet<Societe>(); public Set<Societe> getSocietes() { return societes; } public void setSocietes(Set<Societe> societes) { this.societes = societes; }
mapping dirigeant.xml
mapping societe.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <set name="societes" table="DIRSOC"> <key column="ID_DIR"/> <many-to-many class="Societe" column="ID_SOC"/> </set>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <set name="dirigeants" inverse="true" table="DIRSOC"> <key column="ID_SOC"/> <many-to-many column="ID_DIR" class="Dirigeant"/> </set>
est-ce que quelqu'un pourrait me dire où est mon problème??
Partager