la fonction get****s() générée par hibernate en java ne me récupère pas les données
Bonjour,
Je travail en Java et hiernate 3 sous eclipse. J'utilise MySQL en BDD.
Mon fichier mapping est automatiquement créé par éclipse (présent ci dessous)
Code:
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 35
|
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="mtr.bdd">
<class
name="Commande"
table="commande"
>
<meta attribute="sync-DAO">false</meta>
<id
name="Id"
type="java.lang.Long"
column="CommandeId"
>
<generator class="assigned"/>
</id>
...
<set
name="Typeetapes"
table="cmdetape"
cascade="all"
>
<key column="CommandeId"/>
<many-to-many column="NomEtape" class="Typeetape"/>
</set>
...
</class>
</hibernate-mapping> |
En synchronisant le fichier il me cré le code ci dessous
Code:
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
|
public abstract class BaseCommande implements Serializable {
...
public void addToTypeetapes (mtr.bdd.Typeetape typeetape) {
if (null == getTypeetapes()) setTypeetapes(new java.util.TreeSet<mtr.bdd.Typeetape>());
getTypeetapes().add(typeetape);
}
/**
* Return the value associated with the column: Typeetapes
*/
public java.util.Set<mtr.bdd.Typeetape> getTypeetapes () {
return typeetapes;
}
...
}
public Commande extends BaseCommande {
...
} |
Un peu plus loin, j'effectue le code suivant
Code:
1 2 3 4 5 6 7 8 9 10
|
Session session = HibernateUtil.currentSession();
Commande cmd = (Commande) session.load(Commande.class, 1L)
//Jusque la tout ce passe bien, cmd est correctement chargé
Systeme.out.println(cmd.getTypeetape().size());
//Il m'affiche 0 alors qu'il existe bien des éléments dans la base de données.
//Pour preuve en exécutant la requete SQL générée par Hibernate mais directement sur MySQL, je trouve 2 (qui est le bon résultat) |
Quelqu'un pourrait il me dire pourquoi cmd.getTypeetape() ne charge pas mais objets ?
Pour avoir une idée de la base, la voici
Commande <--n,m------(CmdEtape)-----n,m--> TypeEtape
Merci