Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2012
    Messages : 7
    Points : 4
    Points
    4

    Par défaut JPA ManyToMany

    Bonjour à tous,

    J'ai deux classes : une classe User et une classe Message. Un utilisateur peut voter pour et/ou contre un message. J'ai donc dans ma classe Message deux listes : une liste des utilisateurs ayant voté pour, et une autre liste des utilisateurs ayant voté conte.

    Classe User:
    Code :
    1
    2
    3
    4
    5
     
    @Entity
    class User {
       ... 
    }
    Classe Message:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    @Entity
    class Message {
        ...
     
        @ManyToMany
        private List<User> pros;
     
        @ManyToMany
        private List<User> cons;
     
        ...
    }
    Voila le un petit schéma de ma conception:

    Code :
    1
    2
    3
    4
    5
     
    +----------+                             +----------+
    |   User   | _[0,*]___VotePour___[0,*]_  |  Message |
    +----------+ _[0,*]__VoteContre__[0,*]_  +----------+
    |__________|                             |__________|
    J'ai bien dans ma base de données les tables User, Message, Message_User.
    Le problème est que ça ne fonctionne pas. Par contre si j’enlève de la classe Massage la liste cons, le vote pour fonctionne bien.

  2. #2
    Expert Confirmé
    Homme Profil pro
    Inscrit en
    septembre 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2006
    Messages : 2 382
    Points : 2 914
    Points
    2 914

    Par défaut

    Citation Envoyé par hurricane13 Voir le message
    J'ai bien dans ma base de données les tables User, Message, Message_User.
    Le problème est que ça ne fonctionne pas. Par contre si j’enlève de la classe Massage la liste cons, le vote pour fonctionne bien.
    ben oui, c'est normal çà va toujours mieux sans les cons…

    plus sérieusement : 2 relations ManyToMany donc 2 tables d'intersection, nous n'en avez qu'une : Message_User.

    Ajoutez @JoinTable avec vos @ManyToMany pour spécifier une table MessagePro_User pour List<User> pros et une table MessageCon_User pour List<User> cons.

  3. #3
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2012
    Messages : 7
    Points : 4
    Points
    4

    Par défaut

    Citation Envoyé par JeitEmgie Voir le message
    ben oui, c'est normal çà va toujours mieux sans les cons…
    Bravo bien trouvé celle la

    Citation Envoyé par JeitEmgie Voir le message
    plus sérieusement : 2 relations ManyToMany donc 2 tables d'intersection, nous n'en avez qu'une : Message_User.

    Ajoutez @JoinTable avec vos @ManyToMany pour spécifier une table MessagePro_User pour List<User> pros et une table MessageCon_User pour List<User> cons.
    Merci beaucoup de votre aide. ça fonctionne très bien à présent.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •