IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Pb de sauvgarde d un objet qui contient un Set


Sujet :

Hibernate Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 19
    Points : 7
    Points
    7
    Par défaut Pb de sauvgarde d un objet qui contient un Set
    salut,
    voila j ai une table CANDIDATS,une table LANGUES et une table CANDIDATLANGUE(cad un candidat parle 0 ou +ieur langues)
    quand je sauvgarde un nouveau candidat, ma table CANDIDAT ET REMPLI MAIS PAS LA TABLE CANDIDATlANGUE
    VOILA MON CODE:
    Session session = HibernateUtil.currentSession();
    Candidats ca = (Candidats) session.load(Candidats.class,1);
    Langues l = new Langues(1,"francais");
    String n="moyen";
    Set candidatLangueSet=new HashSet();
    ca.setNom("moi");
    ca.getCANDIDATLANGUESet().add(Candidatlangue(new CANDIDATLANGUEPK(sCa,l),n) );
    session.save(sCa);

    Candidats.hbm
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

    <hibernate-mapping package="com.sbpm.modele">
    <class name="Candidats" table="CANDIDATS">
    <id
    column="NUMCANDIDAT"
    name="Numcandidat"
    type="integer"
    >
    <generator class="increment" />
    </id>
    <property
    column="NOM"
    length="40"
    name="Nom"
    not-null="false"
    type="string"
    />

    <set inverse="true" name="CANDIDATLANGUESet">
    <key column="NUMCANDIDAT" />
    <one-to-many class="Candidatlangue" />
    </set>

    </class>
    </hibernate-mapping>


    Langue.hbm
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

    <hibernate-mapping package="com.sbpm.modele">
    <class
    name="Langues"
    table="LANGUES"
    >
    <id
    name="Numlangue"
    type="integer"
    column="NUMLANGUE"
    >
    <generator class="vm"/>
    </id>
    <property
    name="Nomlangue"
    column="NOMLANGUE"
    type="string"
    not-null="true"
    length="50"
    />
    <set inverse="true" name="CANDIDATLANGUESet">
    <key column="NUMLANGUE" />
    <one-to-many class="Candidatlangue" />
    </set>
    </class>
    </hibernate-mapping>


    CandidatLangue.hbm
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

    <hibernate-mapping package="com.sbpm.modele">
    <class
    name="Candidatlangue"
    table="CANDIDATLANGUE"
    >
    <composite-id name="Id" class="CANDIDATLANGUEPK">
    <key-many-to-one
    name="Numcandidat"
    class="Candidats"
    column="NUMCANDIDAT"
    />
    <key-many-to-one
    name="Numlangue"
    class="Langues"
    column="NUMLANGUE"
    />
    </composite-id>

    <property
    name="Niveau"
    column="NIVEAU"
    type="string"
    not-null="true"
    length="20"
    />
    </class>
    </hibernate-mapping>


    qlq un a il une solution pour cela Merci

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    A l'avenir utilise la balise CODE s'il te plait.

    Voici je pense la solution à ton problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <set inverse="true" name="CANDIDATLANGUESet" cascade="persist,save-update">
    <key column="NUMCANDIDAT" />
    <one-to-many class="Candidatlangue" />
    </set>
    K

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 19
    Points : 7
    Points
    7
    Par défaut Erreur cascade="save-update,persist"
    Merci pour le conseil KiLVaiDeN,
    j ai bien remplacer mon code par celui la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <set inverse="true" name="CANDIDATLANGUESet" cascade="persist,save-update">
    <key column="NUMCANDIDAT" />
    <one-to-many class="Candidatlangue" />
    </set>
    mais voila hebernate me donne l erreur suivante:
    GRAVE: Error parsing XML: XML InputStream(197) Attribute "cascade" with value "save-update,persist" must have a value from the list "none all save-update delete all-delete-orphan delete-orphan ".
    j ai laissé juste cascade="save-update" l erreur n existe plus mais j ai tj le meme pb pas de sauvgarde

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Hibernate 2 ?

    Essaie avec "all" à la place de "save-update"... sinon je ne vois pas désolé
    K

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    j ai deja essaie avec "all"mais ca marche pas non plus ca me plante tous

  6. #6
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    je viens de mettre cascade="all" et la j ai cet erreur:
    Could not synchronize database state with session

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/04/2010, 16h49
  2. Réponses: 9
    Dernier message: 24/06/2008, 09h45
  3. sauvgarder les objets qui n'ont pas été sauvgarder
    Par ferrero dans le forum Hibernate
    Réponses: 5
    Dernier message: 23/05/2007, 16h22
  4. [débutant] un tableau de dimension variable selon l'objet qui le contient
    Par Epistocles dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/01/2007, 18h07
  5. Réponses: 1
    Dernier message: 04/05/2006, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo