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 et répercussion de la mise à jour d'une liste


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Hibernate et répercussion de la mise à jour d'une liste
    Bonjour,
    J'ai un petit problème de mise à jour de mes données.
    J'ai un objet "declaration" qui contient une liste d'objet "surface"

    en java ça donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Declaration
    {
    ---
        /** Surfaces */
        private List<Surface> surfaces;
    ...
    }
    avec le mapping suivant

    declaration.hbm.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        <list lazy="false" name="surfaces" table="surfaces" cascade="all-delete-orphan" inverse="true">
          <key foreign-key="surfaces_id_declaration_fkey">
            <column name="id_declaration" not-null="true" />
          </key>
          <list-index column="idx"></list-index>
          <one-to-many class="Surface" />
        </list>
    surface.hbm.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <hibernate-mapping package="bean">
      <class name="Surface" table="surfaces_declarations" lazy="false">
        <id name="idSurface" type="java.lang.String" column="id_surface">
          <generator class="assigned" />
        </id>
    ...
        <property generated="never" lazy="false" name="idDecLoc" type="java.lang.String">
          <column name="id_declaration" />
        </property>
      </class>
    </hibernate-mapping>
    en dao je fais un simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getHibernateTemplate().saveOrUpdate(declaration);
    Mon problème est le suivant:
    Quand je crée une déclaration et ses surfaces, pas de problème
    quand je met à jour une déclaration en lui ajoutant des surfaces toujours pas de problème
    quand je modifie des surfaces dans une déclaration, toujours aucun problème.

    Par contre, quand je supprime une surface dans une déclaration, la modification n'est pas répercutée en base de données.
    Quelqu'un a-t-il une idée d'où peut provenir mon problème ?

    Merci d'avance de votre aide.

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    Salut,
    comment ca elle n´est pas repercutée,
    la liste n´est plus vide .

    Merci

    Eric

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Dans mon objet j'ai une liste à 2 éléments
    Je supprime l'un des deux éléments
    je met à jour mon objet
    et quand je le recharge depuis la base de données, il y a toujours les deux éléments.
    (après vérification en base, il y a toujours les deux éléments dans la base)

  4. #4
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    peux-tu nous mous montrer comment tu fais le delete


    Merci

    Eric

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    J'ai finalement résolu mon problème.
    Je faisais une mise à jour par getHibernateTemplate().saveOrUpdate(declaration);
    j'ai remplacé cette mise à jour par un switch avec controle en fonction des cas
    evict, save ou merge en fonction des cas.
    Merci de votre aide.

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

Discussions similaires

  1. Mise à jour d'une liste déroulante
    Par maxeur dans le forum IHM
    Réponses: 2
    Dernier message: 30/01/2007, 13h52
  2. Réponses: 5
    Dernier message: 27/08/2006, 14h18
  3. mise à jour d'une liste de choix
    Par nicolovitch dans le forum Access
    Réponses: 4
    Dernier message: 18/07/2006, 19h38
  4. Réponses: 3
    Dernier message: 30/06/2006, 22h56
  5. mise à jour d'une liste par un popup
    Par Equus dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/02/2005, 11h21

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