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

Hibernate Java Discussion :

Hibernate, cannot add or update a child row a foreign key constraint fails [Core]


Sujet :

Hibernate Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Hibernate, cannot add or update a child row a foreign key constraint fails
    Bonjour,

    Je travaille avec Spring, Hibernate et MySql, j'ai un soucis lors de l'enregistrement ou la modification d'une de mes tables:
    j'ai 3 trois tables: cmd, ligne_cmd, et produit.
    la table ligne_cmd est composite: elle contient des clés étrangères en référence aux clés primaires des tables cmd et produit.

    et dans mes entités j'ai comme mappings hibernate:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    @Entity
    @Table(name="cmd")
    public class Cmd{
    @OnetoMany(Cascade={CascadeType.PERSISTE,CascadeType.MERGE, CascadeType.REMOVE}
    @JoinColumn(name="code_cmd"
     @LazyCollection(LazyCollectionOption.FALSE)
    ArrayList<LigneCmd> listLigneCmd;
    }
     
    @Entity
    @Table(name="produit")
    public class Produit{
    @OnetoMany(Cascade={CascadeType.PERSISTE,CascadeType.MERGE, CascadeType.REMOVE}
    @JoinColumn(name="code_produit"
     @LazyCollection(LazyCollectionOption.FALSE)
    ArrayList<LigneCmd> listLigneCmd;
    }
     
    @Entity
    @Table(name="ligne_cmd")
    public class LigneCmd{
     
    @ManytoOne(Optionnal=false)
    @JoinColumn(name="code_produit", referencedColumnName="code_produit",insertable=false, updatable=false))
    Produit produit;
     
    @ManytoOne(Optionnal=false)
    @JoinColumn(name="code_cmd", referencedColumnName="code_cmd",insertable=false, updatable=false))
    Cmd cmd;
    }
    l'erreur surgit au moment où j'essaye d'enregistrer ou modifier une commande:

    je fait:
    CmdDao.save(cmd) ou CmdDao.merge(cmd);
    sachant que cmd contient des lignes de commande et que chaque ligne de commande est déjà lié à un produit qui existe déjà dans la base.
    org.hibernate.exception.ConstraintViolationException: Cannot add or update a child row a foreign key constraint fails....
    Au fait le problème est avec la clé étrangère 'code_cmd' qui se trouve dans ligne_cmd.
    J'ai tout tanté, mais je n'y arrive à comprendre pourquoi cet erreur!

    Merci d'avance!

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut bug résolu
    J'ai résolu le bug, je metterai prochainement les codes avec les explications

    Merci,

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 27/08/2015, 17h46
  2. Réponses: 2
    Dernier message: 03/04/2012, 20h00
  3. Cannot add or update a child row: a foreign key constraint fails
    Par dubitoph dans le forum Administration
    Réponses: 4
    Dernier message: 25/01/2012, 08h29
  4. Réponses: 3
    Dernier message: 28/11/2011, 17h26
  5. Réponses: 0
    Dernier message: 12/12/2007, 21h10

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