+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    novembre 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : novembre 2011
    Messages : 16
    Points : 14
    Points
    14

    Par défaut [HSQL] Problème @OneToMany

    Bonjour,

    j'ai un problème lors de ma persistance

    donc j'ai 3 objets personne, adresse et formation.

    et une formation peut contenir plusieurs formation, donc j'ai utilisé une liste de formation avec @OneToMany

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Entity
    public class Personne {
    	@Id private int personneId;
    	private String firstName;
    	private String lastName;
    	private int age;
    	@OneToOne(fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
    	private Adress adress;
    	@OneToMany(targetEntity=Formation.class, fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
        private List<Formation> formations;
    Donc lors de l’exécution, le problème est que il essaye d'ajouter dans la table personne_formation, qui fait la liaison entre les deux, avant d'ajouter la personne. Cela bloque à cause de privilège des foreign_key.

    J'aimerai savoir comment je pourrais faire pour résoudre ce problème.

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2010
    Messages : 109
    Points : 151
    Points
    151

    Par défaut

    OneToMany doit-être couplé systèmatiquement avec un ManyToOne.

    (La réciproque est fausse!)

  3. #3
    Candidat au titre de Membre du Club
    Inscrit en
    novembre 2011
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : novembre 2011
    Messages : 16
    Points : 14
    Points
    14

    Par défaut

    merci, c'est vrai que ça fonctionne mieux comme ça.

  4. #4
    Membre habitué
    Développeur informatique
    Inscrit en
    juillet 2007
    Messages
    155
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2007
    Messages : 155
    Points : 109
    Points
    109

    Par défaut

    Citation Envoyé par supergeoffrey Voir le message
    OneToMany doit-être couplé systèmatiquement avec un ManyToOne.

    (La réciproque est fausse!)
    Ce n'est pas vrai. Il est possible d'utiliser des relations uni-directionnelles. L'ajout de l'annotation ManyToOne rend la relation bidirectionnelle et résout le problème

    Cf JSR 317 - 2.10.5.1 Unidirectional OneToMany Relationships

+ 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
  •