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

Java Discussion :

Asscociation d'une foreign key avec une autre table


Sujet :

Java

  1. #1
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 90
    Points : 83
    Points
    83
    Par défaut Asscociation d'une foreign key avec une autre table
    Bonjour,

    je suis entrain de développer une application qui aura besoin d'un fort échange avec la base de données. J'aia utilisé le Design Pattern DAO pour pouvoir séparer entre la couche persistante (qui correspond au systeme de stockage) et la couche métier (qui correspond à mes objets java).
    Maintenant, voici mon problème: dans certaines tables de ma base de données, j'ai des attributs qui des clés étrangères (Foreign Key) vers d'autres tables, je ne sais pas comment créer ce lien entre les deux !!
    Merci

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Une clé étrangère dans le monde Java c'est un attribut du type de l'objet identifiant la foreignKey.

    En gros, la table "Premier" a une clé étrangère pointant vers "Deuxième" se modélise de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Premier {
     
      private Deuxieme deuxieme;
     
      ... // la suite avec accesseurs, ...
    }

    Edit : Le framework Grails est très bon dans ce domaine
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 90
    Points : 83
    Points
    83
    Par défaut
    Merci bien Robin56, normalement ca devrait marcher, je vais l'essayer.

  4. #4
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 90
    Points : 83
    Points
    83
    Par défaut
    Après avoir résolu ce problème, j'en ai un autre.
    En fait, lorsque je veux afficher ce qui existe dans les tables (qui sont déjà remplies), l'affichage est correcte pour les attributs locaux mais pour les attributs qui se réfèrent à d'autres tables (foreign key), l'affichage des valeurs est toujours null ou 0!!
    J'ai pensé à faire appel aux objets DAO des autres tables dans la table concernée (qui contient les foreign key), mais je ne trouve pas où est ce que je pourrais l'introduire.
    je n'arrive toujours pas à résoudre ce problème.

    Merci

  5. #5
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    fort échange avec la base de données
    A tu pensés à Hibernate pour résoudre ton problème?

    ça peux paraitre lourd au début, mais les IDE te génère ça très bien maintenant.
    Juste à configurer le liens avec ta BDD.

    Bonne chance.
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  6. #6
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 90
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par Ivelios Voir le message
    A tu pensés à Hibernate pour résoudre ton problème?
    Merci mais est ce que Hibernate est compatible avec DAO ou bien, je laisse tomber DAO pour travailler avec Hibernate ?!

  7. #7
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Hibernate est compatible avec le "pattern" DAO.

    Le "pattern" DAO sert à masquer les accès aux données. Hibernate ne facilite un peu la vie (avec du lazy loading comme tu veux faire), mais il a sa propre mécanique qu'il est bon te "masquer".

    Le jour où tu veux plus d'Hibernate ou si tu veux lui adjoindre un autre type de DAO ou changer la manière dont tu lui fais appel (par exemple utiliser Spring), ça ne change rien au code appelant.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  8. #8
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 90
    Points : 83
    Points
    83
    Par défaut
    Ce problème a été enfin résolu.

    La solution consiste à exploiter à fond l'orienté objet de java. En effet, il suffit de déclarer des obejets DAO et des objets métiers pour les foreign key dans la classe DAO qui contient des attributs foreign key. Ceci fonctionne parfaitement.

    Merci à tous pour votre aide.

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

Discussions similaires

  1. Trigger AFTER UPDATE avec une FOREIGN KEY
    Par brruno dans le forum Développement
    Réponses: 6
    Dernier message: 11/02/2015, 10h39
  2. Problème pour setter une Foreign Key avec TopLink(ValueHolderInterface)
    Par Kcintim dans le forum Persistance des données
    Réponses: 1
    Dernier message: 19/06/2011, 11h40
  3. enregistrer en une fois classe avec une foreign key
    Par xander412 dans le forum Hibernate
    Réponses: 2
    Dernier message: 12/08/2010, 11h18
  4. SELECT avec une foreign key null
    Par wwave dans le forum Oracle
    Réponses: 1
    Dernier message: 21/01/2010, 16h37
  5. Problème avec une FOREIGN KEY
    Par spiner900 dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/03/2009, 14h31

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