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 mapping avec Hibernate


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 36
    Par défaut Pb de mapping avec Hibernate
    salut les supers ,
    j'ai un pb de mapping des classes associations many to many
    je précise plus:
    je developpe sous netbeans avec jsf et spring et richfaces ,j'ai une base oracel10g ,dont j'ai des associations de type many to many .

    je commence par crer le fichier hibernate1.cfg.xml ,ensuite je créer le hibernate.reveng.xml ou je chois toutes mes classes et je je coche ainsi include related tables ,jusque là tous se passe bien .
    une fois je fais le "mappig files pojos from database .." les fichiers de mapping des classes associations ne sont pas générer.

    je donne un exemple :j'ai la classe profil ( libelle,status)et la classe agent(login ,job,...)avec une liaison many to many qui donne une classe association profilAgent ( libelle,login ).
    voila le fichier mapping de profil:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <hibernate-mapping>
      <class name="Entity.Profil" schema="BANKFINAL" table="PROFIL">
        <id name="libelleprofil" type="string">
          <column length="254" name="LIBELLEPROFIL"/>
          <generator class="assigned"/>
        </id>
        <property name="statusp" type="big_decimal">
          <column name="STATUSP" precision="22" scale="0"/>
        </property>
        <set inverse="false" name="droits" table="DROITPROFIL">
          <key>
            <column length="254" name="LIBELLEPROFIL" not-null="true"/>
          </key>
          <many-to-many entity-name="Mapping.Droit">
            <column length="254" name="LIBELLEDROIT" not-null="true"/>
          </many-to-many>
        </set>
        <set inverse="false" name="agents" table="PROFILAGENT">
          <key>
            <column length="254" name="LIBELLEPROFIL" not-null="true"/>
          </key>
          <many-to-many entity-name="Mapping.Agent">
            <column length="254" name="LOGIN" not-null="true"/>
          </many-to-many>
        </set>
      </class>
    </hibernate-mapping>

    et le fichier de mapping Agent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <hibernate-mapping>
      <class name="Entity.Agent" schema="BANKFINAL" table="AGENT">
        <id name="login" type="string">
          <column length="254" name="LOGIN"/>
          <generator class="assigned"/>
        </id>
        <property name="password" type="string">
          <column length="254" name="PASSWORD"/>
        </property>
        <property name="nom" type="string">
          <column length="254" name="NOM"/>
        </property>
        <property name="prenom" type="string">
          <column length="254" name="PRENOM"/>
        </property>
        <property name="statusagent" type="big_decimal">
          <column name="STATUSAGENT" precision="22" scale="0"/>
        </property>
        <property name="job" type="string">
          <column length="254" name="JOB"/>
        </property>
        <set inverse="true" name="smsemails">
          <key>
            <column length="254" name="LOGIN"/>
          </key>
          <one-to-many class="Entity.Smsemail"/>
        </set>
        <set inverse="true" name="profils" table="PROFILAGENT">
          <key>
            <column length="254" name="LOGIN" not-null="true"/>
          </key>
          <many-to-many entity-name="Mapping.Profil">
            <column length="254" name="LIBELLEPROFIL" not-null="true"/>
          </many-to-many>
        </set>
        <set inverse="true" name="operations">
          <key>
            <column length="254" name="LOGIN"/>
          </key>
          <one-to-many class="Entity.Operation"/>
        </set>
        <set inverse="true" name="reclamations">
          <key>
            <column length="254" name="LOGIN"/>
          </key>
          <one-to-many class="Entity.Reclamation"/>
        </set>
      </class>
    </hibernate-mapping>

    bien sur le fichier de la classe ProfilAgent n'est pas généré .donc le probleme c'est que lorsque je déploie mon projet il me signale une erreur disant que le fichier de mapping de la classe ProfilAgent n'existe pas .


    doit je l'ajouter manuellement et le configurer aussi dans l'applicationContext?

  2. #2
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Salut,

    Quand tu génère tes fichiers automatiquement avec RevEng, tu devra avoir des option pour les fichier a générer. Si tu veux avoir les classes relatives au mapping, tu devrai cocher Domaine Code (.java).


    ps: Si tu coche aussi DAO Code (.java) tu aura d'autres classes avec des requêtes utiles

  3. #3
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 36
    Par défaut
    merci pour ta réponse ;mais c'est ce que je fais je coche domaine code(.java) ethibernate(.hbm.xml) mais j'ai toujours le pb :les associations ne sont pas mapper

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Tes associations sont bien gérée et il n'y a absolulent aucune raison de créer une classe représentant l'association, cette classe ne fournirais de toutes façons aucune informations.

  5. #5
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 36
    Par défaut
    merci bien j'ai compris maintenant ,mais pourquoi alors il me donne l'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: An association from the table CONCERNER refers to an unmapped class: Mapping.Smsemail
    sachant bien que j'ai mapper toutes mes classe y compris 'Smsemail' et je les definit dans mon applicationcontext
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <property name="mappingResources">
                <list>
                    <value>Mapping/Abonnes.hbm.xml</value>
                    <value>Mapping/Agent.hbm.xml</value>
                    <value>Mapping/Categorie.hbm.xml</value>
                      <value>Mapping/Service.hbm.xml</value>
                      <value>Mapping/Droit.hbm.xml</value>
                      <value>Mapping/Operation.hbm.xml</value>
                      <value>Mapping/Profil.hbm.xml</value>
                      <value>Mapping/Reclamation.hbm.xml</value>
                      <value>Mapping/Smsemail.hbm.xml</value>
                      <value>Mapping/Transfert.hbm.xml</value>
                
                    
                  
                </list>
            </property>

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    on peux voir le contenu de Mapping/Smsemail.hbm.xml ?

Discussions similaires

  1. Réponses: 8
    Dernier message: 09/05/2013, 23h37
  2. Mapping avec Hibernate
    Par ibuto dans le forum Hibernate
    Réponses: 9
    Dernier message: 05/03/2013, 10h02
  3. Génération des fichiers DAO mapping avec hibernate
    Par hibernouteTn dans le forum Hibernate
    Réponses: 9
    Dernier message: 24/04/2008, 18h08
  4. Probleme de mapping avec Hibernate
    Par kodo dans le forum Hibernate
    Réponses: 10
    Dernier message: 31/07/2006, 09h33
  5. [hibernate] Mapping avec identifiant composé
    Par miky_jo dans le forum Hibernate
    Réponses: 3
    Dernier message: 11/10/2005, 16h48

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