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 suppression d'une entité enfant


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Par défaut Problème de suppression d'une entité enfant
    bonsoir tt l monde ,

    J'ai défini une relation OneToMany entre une table Parent et une table Enfant. quand j'essaie de supprimer une entité enfant j'ai une exception genre "Cannot delete or update a parent row: a foreign key constraint fails" ce que je pense est normal , comment pourrai j corrigé ce problème .

    EJB 3, Mysql , Jboss 4.2

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Peux-tu préciser le cadre et montrer le mapping ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Par défaut
    entity parent Campus
    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
     
    @Entity
    @Table(name = "campus")
    public class Campus implements Serializable {
     
    	@Id
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	private Long idCampus;
     
    	private String nom;
     
    	@ManyToMany
    	private List<User> users;
     
    	@OneToMany(cascade = { CascadeType.ALL })
    	@JoinColumn(name = "campus_fk")
    	private List<Espace> espaces;
    entity fils User
    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
     
    @Entity
    @Table(name = "user")
    public class User implements Serializable {
     
    	@Id
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	private Long idUser;
    	private String nom;
    	private String prenom;
     
    	@Column(unique = true, nullable = false, length = 8)
    	private String login;
     
    	@Column(nullable = false, length = 8)
    	private String password;
    mon soucis c'est lors d'une suppression d'un User qui est référencé dans un Campus

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Qui gère la relation ?
    En d'autre terme, tu supprimes une référence de User au travers de Campus ou tu supprime un User référencé directement ?

    Regarde un peu ceci, ça pourra t'éclairer...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Par défaut
    je veux supprimer un user directement referencé.
    et puisque la relation OneToMany est unidirectionnel , le User lui même n'a pas de visibilité sur un Campus , donc a ma connaissance je peux pas utilisé d'annotation genre Cascade

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Si tu ne veux pas gérer le bidirectionnel, tu peux passer par une relation delete=cascade au niveau de la table User, as-tu essayé ?

    (Je ne pense pas que le problème vienne de l'application mais plutôt de la DB)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [EJB3.1] Problème de suppression d'une entité avec une clé composite
    Par bruneltouopi dans le forum Java EE
    Réponses: 2
    Dernier message: 02/08/2012, 11h50
  2. Problème de suppression d'une entité JPA
    Par ddxxgg dans le forum JPA
    Réponses: 3
    Dernier message: 16/02/2009, 12h25
  3. [Jtable] problème de suppression dans une Jtable
    Par gianni17 dans le forum Composants
    Réponses: 1
    Dernier message: 02/12/2005, 18h36
  4. Problème de suppression dans une table
    Par Splinter dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/10/2005, 10h55
  5. [JTable] problème après suppression d'une ligne
    Par fredo3500 dans le forum Composants
    Réponses: 7
    Dernier message: 17/03/2005, 10h01

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