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]Table avec clé étrangère


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Par défaut [Hibernate]Table avec clé étrangère
    Bonjour j'explique mon problème :
    Je dispose d'une table Personne du type
    nom : String
    prenom : String
    service_id : int
    et d'une table Service :
    id : int
    nom : String

    Vous l'aurez compris je pense service_id réfère à l'id de la table Service.

    Mon problème et que je n'arrive pas à modéliser ceci via un mapping hibernate, pour le moment j'ai le mapping d'une personne sans service dès que j'essaye de rajouter la notion de service je n'arrive pas a récupérer le nom du service....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        <class name="javabeans.Personne" table="PERSONNE">
            <id name="id" type="integer" column="id">
                <generator class="increment"/>
            </id>
            <property name="nom" column="nom" />
            <property name="prenom" column="prenom" />
            <property name="service" type="integer" column="service_id" />
        </class>
    je pense que la solution vient par quelquechose du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <join table="SERVICE"...
    Mais je n'arrive pas à m'en servire
    Merci de me mettre sur le bon chemin

  2. #2
    Membre expérimenté
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Par défaut
    As tu lu la doc Hibernate ??

    elle est en francais et tres complete ...

    Dans Personne
    <many-to-one name="service" column="id_service" not-null="true"/>

    http://www.hibernate.org/hib_docs/v3...tion-manytoone

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Par défaut
    justement j'ai vu un exemple de ce type, mais je n'arrive pas à comprendre comment faire le liens directement avec mon bean personne.
    D'après ce que j'avais cru comprendre il faut avoir un bean personne contenant lui même un bean service.
    Ce que j'aimerais est une solution plus simple avec uniquement un attribut serviceName de type String dans le bean personne.
    Est-ce que je me trompe ?

    Si oui, je n'arrive pas à comprendre comment une instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    many-to-one name="service" column="id_service" not-null="true"/>
    Arrive à faire le lien entre la table SERVICE et l'attribut serviceName de mon bean Personne

  4. #4
    Membre expérimenté
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Par défaut
    nan tu dois avoir une relation many-to-one d'un objet à un autre, tu ne peux pas faire une association avec clé etrangère sans passer par les objets

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Par défaut
    Oki c'est un peu ce que je voulais savoir, j'ai peut être un peu mal posé ma question au départ

  6. #6
    zev
    zev est déconnecté
    Membre expérimenté
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Par défaut
    id_service est la valeur utilisée pour la recherche dans la clef primaire de la table service (qui est id tout court).

    apres pour recuperer tes valeurs, tu pourra faire un truc du genre :

    utilisateur.service.name
    utilisateur.service.id

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Par défaut
    La chose n'est malheureusement pas si facile que ca .
    En effet le service n'est pas mappé via Hibernate parcequ'il dispose en plus d'un nom d'une liste de responsable, c'est responsable étant déclaré via une structure assez complexe puisqu'ils résultent de table créées par JGuard.
    Enfin bref je vais trouver une solution un peu différente

    Merci quand même de votre aide

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2012, 14h59
  2. MySQL : insertion dans table avec clés étrangères
    Par chatmi dans le forum Requêtes
    Réponses: 7
    Dernier message: 22/06/2012, 15h36
  3. Deux tables avec clés étrangères entre elles
    Par Naoris dans le forum Langage SQL
    Réponses: 21
    Dernier message: 25/01/2012, 09h09
  4. Insértion dans plusieurs tables avec clé étrangère
    Par krolis dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/05/2010, 10h40
  5. ajout dans une table avec clé étrangère
    Par lahmar.abdel1 dans le forum Hibernate
    Réponses: 0
    Dernier message: 30/03/2010, 15h59

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