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 :

[hibernate][debutant]probleme de mapping avec un many-to-one


Sujet :

Hibernate Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [hibernate][debutant]probleme de mapping avec un many-to-one
    Bonjour,

    je poursuis le développement d'un projet open source (gestcv) sous technologie J2EE (hibernate, spring et struts). Depuis peu, je tombe sur erreur dont je ne comprend pas :
    org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [net.sourceforge.gestcv.bean.RespInge#0]
    j'essaie de mapper la table T_COLLABORATEUR qui possède une relation 1-n avec la table T_RESPONSABLEINGENIEUR. Il s'agit donc d'un relation many-to-one. Je rajoute la clé étrangère (COL_ID_RI_N) dans la table T_COLLABORATEUR.

    Voici mon fichier collaborateur.hbm.xml :
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

    <hibernate-mapping>

    <class
    name="net.sourceforge.gestcv.bean.Collaborateur"
    table="T_COLLABORATEUR"
    >

    <id
    name="id"
    type="java.lang.Integer"
    column="COL_ID_N"
    >
    <generator class="identity" />
    </id>

    <property
    name="nom"
    type="java.lang.String"
    column="COL_NOM_C"
    not-null="true"
    length="100"
    />

    <!-- bi-directional many-to-one association to Agence -->
    <many-to-one
    name="agence"
    class="net.sourceforge.gestcv.bean.Agence"
    not-null="true"
    lazy="false"
    >
    <column name="COL_ID_AGENCE_N" />
    </many-to-one>
    <many-to-one
    name="situationFamiliale"
    class="net.sourceforge.gestcv.bean.TableReference"
    lazy="false"
    >
    <column name="COL_ID_SITUATION_FAMILIALE_N" />
    </many-to-one>


    <many-to-one
    name="respInge"
    class="net.sourceforge.gestcv.bean.RespInge"
    lazy="false"
    >
    <column name="COL_ID_RI_N" />
    </many-to-one>

    </class>
    </hibernate-mapping>
    Voici mon fichier respInge.hbm.xml :
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

    <hibernate-mapping>

    <class
    name="net.sourceforge.gestcv.bean.RespInge"
    table="T_RESPONSABLEINGENIEUR"
    >

    <id
    name="id"
    type="java.lang.Integer"
    column="RI_ID_N"
    >
    <generator class="identity" />
    </id>

    <property
    name="nom"
    type="java.lang.String"
    column="RI_NOM_C"
    not-null="true"
    length="50"
    />

    </class>
    </hibernate-mapping>
    Et voici ma stack d'erreur :
    DEBUG org.hibernate.engine.StatefulPersistenceContext 2006-07-17 11:31:51,906 - initializing non-lazy collections
    DEBUG org.hibernate.loader.Loader 2006-07-17 11:31:51,906 - done entity load
    INFO org.hibernate.event.def.DefaultLoadEventListener 2006-07-17 11:31:51,937 - Error performing load command
    org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [net.sourceforge.gestcv.bean.RespInge#0]
    at org.hibernate.ObjectNotFoundException.throwIfNull(ObjectNotFoundException.java:27)
    at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:128)
    at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:177)
    at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
    ...
    Si vous avez un avis ou une réponse à mon problème, j'attend vos suggestions, je dirais que c'est assez bloquant pour moi et pour la suite de mo développement car toutes les relations many-to-one que je rajoute font bugger de la meme manière...
    merci d'avance.

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2004
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 152
    Points : 173
    Points
    173
    Par défaut
    Tu as cette erreur lorsque tu load un collaborateur apparemment. Exact ?

    Question conne mais nécessaire...
    Tes ResponsableIngenieurs sont ils présents dans ta base ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    tout à fait, j'ai cette erreur lorsque je lance l'application, car je load un collaborateur. La question n'était pas aussi "conne" que ça, car quelques collaborateurs pointaient sur un COL_ID_RI_N égale à 0, champs qui n'existe pas dans la BD.
    En rajoutant un champs d'ID dans ma table, cela se passe très bien, donc l'erreur venait bien de la base et pas d'une configuration d'hibernate.

    merci pour cette remarque judicieuse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme de mapping avec une bd oracle 9i
    Par j_esti dans le forum Hibernate
    Réponses: 1
    Dernier message: 13/05/2008, 11h05
  2. Probleme de Mapping avec Sequence
    Par P4dre dans le forum JPA
    Réponses: 12
    Dernier message: 20/12/2007, 13h02
  3. Probleme de mapping avec Hibernate
    Par kodo dans le forum Hibernate
    Réponses: 10
    Dernier message: 31/07/2006, 09h33
  4. [debutant]Probleme de requete avec date
    Par shub dans le forum Access
    Réponses: 9
    Dernier message: 12/05/2006, 10h01
  5. [debutant]Probleme de Lieur avec borland c++ 6
    Par Asmod_D dans le forum OpenGL
    Réponses: 3
    Dernier message: 23/02/2005, 20h18

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