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 rafraîchissement


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut Problème de rafraîchissement
    Bonjour,

    j'ai un soucis lorsque je supprime un enregistrement, mon PAG (Pilote d'acte de gestion) appelle un CM (composant métier) qui lui même appelle un DAO dans lequel j'ai cette méthode :

    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
    18
    19
        public void deleteTest(ExecutionContext executionContext,
            GestionnaireGedWfTransferObject gestionnaireTO) throws PersistenceException {
     
            Session session = getSession();
            session.clear();
     
            try {
                // Test Mapper le TO en EO. A partir de là, récupérer la clé de l'EO et le détruire
                GestionnaireGedWf gestionnaireGedWf = getBeanMapper().map(gestionnaireTO, GestionnaireGedWf.class);
                // GestionnaireGedWfId gestionnaireGedWfId = gestionnaireGedWf.getId();
                session.delete(gestionnaireGedWf);
                session.flush();
            }
            catch (BeanMappingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
     
        }
    Je suis obligé d'appeler la méthode flush() afin que les données soient bien supprimées de la base.

    Lorsque je reboucle sur ma page j'appelle cette méthode afin de rafraîchir la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static final String HQL_LIRE = "from GestionnaireGedWf g ";
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
        @SuppressWarnings("unchecked")
        public List<GestionnaireGedWfTransferObject> rechercher(ExecutionContext executionContext)
            throws PersistenceException {
     
            Session session = getSession();
     
            Query query = session.createQuery(HQL_LIRE);
     
            List<GestionnaireGedWf> listeEO = (List<GestionnaireGedWf>) query.list();
     
            List<GestionnaireGedWfTransferObject> retour = new ArrayList<GestionnaireGedWfTransferObject>();
     
            for (GestionnaireGedWf entityObject : listeEO) {
                try {
     
                    GestionnaireGedWfTransferObject transferObject = getBeanMapper().map(entityObject, GestionnaireGedWfTransferObject.class);
                    retour.add(transferObject);
                }
                catch (BeanMappingException e) {
                    // LOGGER.debug(executionContext, "LAUNCH : BeanMappingException()",getClass().getName() );
                    final PersistenceException persistenceException = new PersistenceException(executionContext, e.getMessage());
                    persistenceException.setStackTrace(e.getStackTrace());
                    throw persistenceException;
                }
            }
     
            return retour;
        }
    Même en rechargeant les données dans le support de persistance les données ne sont pas rafraîchies. je suis obligé de rafraîchir à nouveau la page afin qu'elles soient bien rafraîchies.

    Quelqu'un peut-il m'éclairer car je ne suis pas sûr d'utiliser Hibernate à bon escient. Y'aurait-il un best practice d'hibernate sur le net ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut
    En ce qui concerne les tutoriels, moi j'ai utilisé hibernate-reference.pdf (en français, trouvé sur google).

    En ce qui concerne le flush(), si tu testes ta couche DAO, c'est normal de l'utiliser, mais si tu testes ta couche de service, alors la il y a un problème.... car c'est le service qui gère les tansactions et donc le flush().

    J'ai aussi des problème avec mes tests d'hibernate, mais pour moi le problème venaient des tests et non d'hibernate, une mauvaise implémentation de base et le flush() ne se faisait pas.

    Par contre, je ne comprends pas bien ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.delete(gestionnaireGedWf);
    c'est une session que tu supprimes ?§?

    En général pour ma part je supprime des objets dao....

Discussions similaires

  1. Problème de rafraîchissement de post sur des listes
    Par Greggggggg dans le forum Langage
    Réponses: 7
    Dernier message: 21/08/2006, 14h32
  2. Problème de rafraîchissement
    Par vali7 dans le forum Langage
    Réponses: 1
    Dernier message: 18/04/2006, 18h12
  3. Réponses: 2
    Dernier message: 27/02/2006, 13h27
  4. [MFC] Problème de rafraîchissement
    Par nmarf dans le forum MFC
    Réponses: 5
    Dernier message: 16/09/2005, 10h55
  5. Problème de rafraîchissement de données...
    Par Alain Dionne dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/03/2004, 21h07

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