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

Spring Java Discussion :

Entité avec clé étrangère multiple [Batch]


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 156
    Par défaut Entité avec clé étrangère multiple
    Bonjour,

    J'ai un soucis d'association entre des entités.

    Je dispose de la structure de données suivante (non modifiable) :

    • IndividuParAppli : cléAppli*, sousCléAppli*, idIndividuAppli*, idIndividuCentralise#
    • AdresseAppli : cléAppli#, sousCléAppli#, idIndividuAppli#, idAdresse*, libelleAdresse
    • IndividuCentralise : idIndividuCentralise*, nom, prenom


    *PK
    #FK

    L'idée ici est que j'ai plusieurs applications, qui elle-même disposent de sous-applications, chacun ayant un référentiel individu (avec adresse) propre.
    Chaque sous-application est identifiée par une cléAppli et une sousCléAppli.
    Ces sous-appli gèrent des idIndividuAppli.

    Je souhaite pouvoir récupérer l'ensemble des individus, et gérer une centralisation, via ma table "IndividuCentralise"

    Mon objet pivot sera IndividuParAppli.

    Pour limiter mes appels en BDD, j'aimerais obtenir une entité de la forme suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @javax.persistence.Entity
    public class IndividuParAppli {
     
      String cleAppli;
      String sousCleAppli;
      String idIndividuAppli;
      String idIndividuCentralise;
     
      AdresseAppli adresse;
     
      IndividuCentralise individuCentralise;
     
    }
    Comment dois-je gérer mes jointures ? Faut-il passer par une "embeddedId" ? Une annotation "JoinColumns" ?

    Je précise à nouveau que je n'ai pas de liberté avec la structure de données, je dois faire avec !


    Merci d'avance pour vos lumières.

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 156
    Par défaut
    Je vais me répondre à mon moi du passé (ça pourra toujours servir à d'autres) :

    Il faut déclarer un objet @Embeddable encapsulant la PK de l'individu par appli, et utiliser les annotations @OneToMany et @JoinColumns pour récupérer les adresses, tel que suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    @OneToMany
    @JoinColumns(value = {
    	@JoinColumn(name="cleAppli", referencedColumnName="cleAppli", insertable=false, updatable=false),
    	@JoinColumn(name="sousCleAppli", referencedColumnName="sousCleAppli", insertable=false, updatable=false),
    	@JoinColumn(name="idIndividuAppli", referencedColumnName="idIndividuAppli", insertable=false, updatable=false)
    })
    private List<AdresseAppli> listeAdresseAppli;
    Pour la jointure entre les individuParAppli et les individuCentralise, un @ManyToOne avec @JoinColumn classique suffisent.

    Ce qui me manquait, c'était les attributs "referencedColumnName", "insertable", et "updatable" dans la portion de code ci-dessus.

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

Discussions similaires

  1. Tag : present avec des roles multiples
    Par zola dans le forum Struts 1
    Réponses: 4
    Dernier message: 28/04/2006, 18h01
  2. clés étrangères multiples
    Par say dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 13/09/2005, 13h20
  3. Optimisation requete avec sous-requetes multiples
    Par gege.boubou dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/09/2005, 10h42
  4. [MEA] Entité avec 3 références ?
    Par Bacalla dans le forum Schéma
    Réponses: 11
    Dernier message: 22/02/2005, 15h51
  5. [VB6]Prob avec les requêtes multiples
    Par cammipascal dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 30/03/2004, 18h46

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