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 :

Update bidirectionnel JPA


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Par défaut Update bidirectionnel JPA
    Bonsoir à tous,

    Je code une petite appli avec JPA et je me demande si la solution trouvée à mon problème est propre / logique.

    Voici le contexte : je dispose d'une table voyage et d'une table pays. Un pays contient plusieurs voyages et un voyage n'est que dans un pays.
    Les entity sont bidirectionnelles et globalement ça fonctionne.

    Seulement, admettons que après avoir créé mon jeu d'essai, je décide de supprimer un voyage... Bon, je me suis dit qu'avec toutes le bazar déployé, mon instance de pays contenue dans mon voyage ne contiendrait plus le voyage que je viens de supprimer. Et ce n'est pas le cas ; la suppression à bien lieu dans la BDD mais pas dans mon instance.

    Je dois alors accéder à mon ArrayList de voyages dans le pays qui contient le voyage supprimé, remove manuellement le voyage PUIS faire un merge du pays...
    Je trouve donc étonnant de devoir faire un merge du pays lorsque je supprime un de ses voyages. Est-ce normal ?

    J'espère que je me suis exprimé correctement, si ce n'est pas le cas, je renverrai quelques bouts de code plus explicites.

    En vous remerciant par avance,
    Guigouz

  2. #2
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    Salut,
    je ne sait pas si nécessaire de faire un merge mais généralement la suppression dépend de l'outil de mapping:
    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
     
    ..............
    /* Debut de transaction */
    tx.begin()
    Voyage voyageasupprimer=em.find(Voyage.class,id);
     
    /*suppression d'un voyage du contexte de persistance
    avec hibernate c'est suffisant avec toplink il faut le supprimer de la collection du noeud parent
    */
    em.remove(voyageasupprimer);
    /*Suppression du voyage de la collection du noeud parent */ 
    /*C'est facile si on utilise une relation bidirectionnelle */
    voyageasupprimer.getPays().getVoyagesList().remove();
     
    tx.commit();

  3. #3
    Membre éclairé Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Par défaut
    Effectivement je travaille avec TopLink et mon problème se situait bien à ce niveau...
    Merci pour cette réponse !

    Guigouz

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

Discussions similaires

  1. Update automatique avec JPA
    Par Bargaroth dans le forum JPA
    Réponses: 3
    Dernier message: 17/06/2012, 09h19
  2. Réponses: 3
    Dernier message: 16/12/2009, 11h41
  3. JPA - récupérer l'id généré + update
    Par tit0um dans le forum Hibernate
    Réponses: 1
    Dernier message: 25/02/2009, 10h54
  4. Problème UPDATE entity JPA
    Par vincent_17 dans le forum Hibernate
    Réponses: 2
    Dernier message: 09/02/2009, 15h44
  5. JPA - Relation bidirectionnel
    Par JoloKossovar dans le forum JPA
    Réponses: 3
    Dernier message: 26/05/2008, 13h54

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