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

JPA Java Discussion :

Problème de jointure avec une table qui a une clé composée


Sujet :

JPA Java

  1. #1
    Membre habitué
    Profil pro
    Analyste programmeur
    Inscrit en
    Novembre 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Novembre 2006
    Messages : 197
    Points : 167
    Points
    167
    Par défaut Problème de jointure avec une table qui a une clé composée
    Bonjour,

    j'ai deux tables :

    table1 qui a trois champs qui compose son id(cle primaire),qui sont nume,numc,numd.
    table2 qui a deux champs qui comose son id(cle primaire), qui sont nume,numc.

    j'ai pu creer les 2 entités de table1 et table2, mais le probleme est lorsque je veux faire une jointure entre table1 et table2 de type (ManytoOne) signifie une relation plusieur de table1 avec une seul de table2 (relation de type1:n).

    pour le test, je fais une requette qui comporte que les champs d'une table concerné ça marche exemple "select nume,numc,numd from table1". c'est le meme pour table2.

    mais si je veux faire (select o from table1 o), ça ne marche pas à cause de class de table2PK, et voici le message d'erreur:

    org.apache.jasper.JasperException: javax.faces.el.EvaluationException: Error getting property 'mpatronage' from bean of type webb.Beanpatronage: javax.ejb.EJBException: javax.persistence.EntityNotFoundException: Unable to find model.Table2 with id model.Table2PK@14f4b5e


    comment faire?

    voici une partie du code:
    dans table1
    .............
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        @ManyToOne(optional=true)
        @JoinColumns({
        @JoinColumn(name="NumE", referencedColumnName="NumE",insertable=false, updatable=false),
        @JoinColumn(name="NumC", referencedColumnName="NumC",insertable=false, updatable=false)})
     
        private Table2 tab;
        public Table2 getTab(){
     
            return this.tab;
        }
        public void setTab(Table2 dev){
            this.tab=dev; 
        }
    ..........

    et dans table2:

    .........
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        @EmbeddedId
        private Table2PK tab;
     
        public Table2PK getTab(){
            return this.tab;
        }
     
        public void setTab(Integer numPiece,Integer numTM){
            this.tab=new Table2PK(numPiece,numTM);
            this.tab.setNumPiece(numPiece);
            this.tab.setNumTM(numTM);
        }
    .........

  2. #2
    Membre habitué
    Profil pro
    Analyste programmeur
    Inscrit en
    Novembre 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Novembre 2006
    Messages : 197
    Points : 167
    Points
    167
    Par défaut
    normalement j'ai trouvé le probleme, c'est que l'object de table2 est null.(n'existe pas)

    a+

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 13/03/2010, 10h38
  2. Réponses: 8
    Dernier message: 06/06/2007, 17h03
  3. Réponses: 2
    Dernier message: 06/02/2007, 09h17
  4. suppression dans une table qui contient une clé etrangère
    Par zana74 dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 08/08/2006, 10h58
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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