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 :

Problème de mise à jour d'objet


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Sr. Software Engineer
    Inscrit en
    Août 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Software Engineer

    Informations forums :
    Inscription : Août 2007
    Messages : 169
    Par défaut Problème de mise à jour d'objet
    Mon problème est le suivant:
    j'ai deux classes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class Master {
    Set<Slave> slaves;
    }
     
     
    class Slave {
    Master master;
    }
    Lorsque hibernate charge mes objets, je souhaite dire qu'un mySlave ne dépend plus de myMaster.

    quand je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myMaster.getSlaves().remove(mySlave)
    le problème c'est que mySlave est carrément supprimé de la BD.


    Par contre lorsque je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mySlave.setMaster(null);
    l'association est effectivement supprimer de la BD.

    Mon problème c'est que myMaster.getSlaves() contient toujours mySlave.
    J'ai essayer refresh(myMaster), session.flush() mais la mise à jour n'est pas correcte.
    Quand je redémarre mon application tout est OK.

    Alors comment mettre à jour mes objets?

    Merci.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    t'as probablement mis un delet orphan sur la relation master -> slaves. Quand tu retire un slave, il est effacé de la db. retire ce delete-orphan.

  3. #3
    Membre confirmé
    Profil pro
    Sr. Software Engineer
    Inscrit en
    Août 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Software Engineer

    Informations forums :
    Inscription : Août 2007
    Messages : 169
    Par défaut
    Merci tchize_.c'était çà le problème.
    Par contre je suis obligé d'utiliser les deux instrinctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    myMaster.getSlaves().remove(mySlave);
    mySlave.setMaster(null);
    Existe t-il une configuration permettant de n'utiliser qu'une seule de ces instructions?
    J'utilise hibernate 2.

    Merci

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Par défaut
    Non, c'est à toi de gérer les relations bidirectionnelles dans ton code.
    Hibernate de peut rien faire là dessus, il va juste utiliser une des relations pour mettre à jour la foreign key.
    Il ne faut pas oublier que tu travailles avec des objets et non sur la relation qu'il y a en BD.

  5. #5
    Membre confirmé
    Profil pro
    Sr. Software Engineer
    Inscrit en
    Août 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Software Engineer

    Informations forums :
    Inscription : Août 2007
    Messages : 169
    Par défaut
    Okay

    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/07/2014, 19h40
  2. [2008R2] Problème de mise à jour des objets liés
    Par anayathefirst dans le forum SSAS
    Réponses: 0
    Dernier message: 23/06/2011, 15h41
  3. Réponses: 1
    Dernier message: 26/03/2011, 15h52
  4. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38
  5. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 15h32

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