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 :

Delete cascade


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité(e)
    Invité(e)
    Par défaut Delete cascade
    Bonjour,

    j'ai un petit soucis, j'ai une tache qui possède une priorité
    Si je supprime la priorité, cela supprime les taches en cascade, en revanche si je supprime une tache, j'ai une erreur de violation de clé étrangère.

    mon but:
    +pouvoir supprimer une priorité et les taches associées en cascade
    +pouvoir supprimer une tache librement

    voila comment est ma priorité
    un priorité référence une ou plusieurs taches
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        @OneToMany(cascade = {CascadeType.ALL})
        private Collection<Taches> tache;
    et voila ma tache
    une tache à une seul priorité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        @ManyToOne()
        @JoinColumn(name = "refPriorite", referencedColumnName = "idpriorite", nullable=false)   
        private TachesPriorite refPriorite;
    quelqu'un à une idée ?

    merci

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    bon et bien à croire qu'il fallait que je poste pour trouver la réponse que je cherchais depuis des heures.

    En faite comme ma tache est référencée par une priorité
    il faut que je supprime avant de supprimer ma tache, la référence à cette tache de la collection de taches de ma priorité !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    tache= entityManager.find(Taches.class,id);
     
    int idPriorite = tache.getRefPriorite().getId();
     
    TachesPriorite tachepriorite = (TachesPriorite)entityManager.find(TachesPriorite.class, idPriorite);
    Collection<Taches> collect = tachepriorite.getTache();
    collect.remove(tache);
     
    entityManager.remove(tache);

    Dommage que cela ne soit pas automatique et que l'on soit obligé de gérer cela manuellement

    Aurais je loupé une configuration spécifique à cet effet ?
    Est ce que je procède de la bonne façon ?

    merci

Discussions similaires

  1. On Delete Cascade
    Par malbarre dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/07/2006, 12h40
  2. SQL Delete Cascade
    Par mschoum dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/06/2006, 15h18
  3. [SQL 2K5] Pb : ON DELETE CASCADE : référence circulaire
    Par n00bi dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 29/05/2006, 09h48
  4. [SQL2K] delete cascade d'une table sur elle même
    Par StormimOn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2006, 17h28
  5. Delete cascade --> problème de temps de traitement
    Par celine31 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 11/01/2006, 13h03

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