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]Problème mapping classe association


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 35
    Points : 20
    Points
    20
    Par défaut [hibernate]Problème mapping classe association
    Bonjour à tous,
    Je mets en place une application qui permet de gérer des calendriers partagés.
    Pour cela je souhaite utiliser Hibernate à des fins de formation.
    Je souhaite avoir 3 tables, je détaille ci-dessous :
    - rendezvous (id_rdv PK, begin, end, title, ...)
    - user (id_user PK, lastname, firstname, mail, ...)
    - schedule (id_user, id_rdv, owner, required, availability), la clé est composée (id_user, id_rdv)
    Contraintes de clés étrangères :
    - id_user de schedule <--> id_user de user
    - id_rdv de schedule <--> id_rdv de rendezvous

    J'ai des problèmes pour réaliser ce mapping avec hibernate.
    J'ai cherché dans la doc hibernate mais je n'ai pas trouvé d'exemples pour ma situation.
    Maintenant mes questions :
    1. Est ce que je dois créer une classe et un fichier de mapping pour schedule ou est-ce que je dois rajouter une propriété "private List schedules" dans User ?
    2. Comment gérer le fait que ma table d'association possède d'autres champs que les id et que la clé de cette table est la composition des clés des 2 autres tables ?

    Merci
    jsl1

  2. #2
    Invité
    Invité(e)
    Par défaut
    salut
    voila pour ton mapping si tu utilise eclypse tu peut avoir le plugin de hibernate alors une foi le plugin installer(coller dans le dossier plugin dde eclypse)tu peut cree ton fichier de configuration et ton fichier de mapping et c simple a utiliser
    j'espere que je t aider

  3. #3
    Membre actif
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Points : 220
    Points
    220
    Par défaut
    moi je partirais sur ce genre de truc

    http://www.hibernate.org/hib_docs/v3...ional-join-m2m

    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
     
    <class name="Person">
        <id name="id" column="personId">
            <generator class="native"/>
        </id>
        <set name="addresses" table="PersonAddress">
            <key column="personId"/>
            <many-to-many column="addressId"
                class="Address"/>
        </set>
    </class>
     
    <class name="Address">
        <id name="id" column="addressId">
            <generator class="native"/>
        </id>
        <set name="people" inverse="true"  table="PersonAddress">
            <key column="addressId"/>
            <many-to-many column="personId"
                class="Person"/>
        </set>
    </class>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    create table Person ( personId bigint not null primary key )
    create table PersonAddress ( personId bigint not null, addressId bigint not null, primary key (personId, addressId) )
    create table Address ( addressId bigint not null primary key )

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut mapping hibernate
    Bonjour

    HrTsDi :
    Merci de confirmer que nous parlons bien du même plugin (voir ci-dessous)

    jsl1 :
    Je dois faire exactement la même chose et je me pose les mêmes questions.

    Je pense comme HrTsDi qu'il faut commencer par utiliser un outils pour le mapping.

    Pour hibernate 3 :
    -----------------
    JBoss Eclipse IDE qui integre hibernate tools
    http://jboss.com/products/jbosside/downloads
    ou Hibernate Tools tout seul
    http://www.hibernate.org/30.html

    Pour hibernate 2 :
    -----------------
    Middlegen
    http://boss.bekk.no/boss/middlegen/
    et MiddlegenIDE
    http://ultimania.org/middlegenide/

    Dans http://www.hibernate.org/hib_docs/v3.../tutorial.html
    ils expliquent comment faire si la table PERSON_EVENT ne contient aucun champ de base
    (créer les classes uniquement pour les 2 tables principales).

    Dans le cas qui nous intéresse je pense qu'il faut créer un xml et un java pour la table du milieu.

    Si vous trouvez la solution, merci de faire un post.

    Je cherche de mon côté.

    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Alors ollivier, as tu avancé de ton côté ?

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je rencontre actuellement exactement le même cas et je ne trouve pas de solution.
    Je me permets donc de faire remonter ce message que j'ai trouvé par une recherche.

    Merci d'avance.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    Perso, jferai un autre mapping, un par table, c'est plus clair, on s'y retrouve mieux ! Tes mappings seront plus simples...
    Sinon, je ne vois pas comment rajouter à ta table d'assos les autres champs!
    D'ailleurs une table d'assos ne contient que des champs existant dans d'autre table pour, donc ici c'est pas le cas.

Discussions similaires

  1. Réponses: 7
    Dernier message: 07/03/2012, 15h28
  2. mapping hibernate annotations avec classe association
    Par amadoulamine1 dans le forum Hibernate
    Réponses: 0
    Dernier message: 07/06/2011, 20h27
  3. Problème mapping classe recursive
    Par dominou73 dans le forum Hibernate
    Réponses: 2
    Dernier message: 07/11/2007, 22h02
  4. [Hibernate] Mapper une classe association
    Par mauvais_karma dans le forum Hibernate
    Réponses: 16
    Dernier message: 25/01/2006, 12h34
  5. [Hibernate] remplir une classes association
    Par mauvais_karma dans le forum Hibernate
    Réponses: 13
    Dernier message: 31/08/2005, 16h38

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