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] recuperation de listes d'objets


Sujet :

Hibernate Java

  1. #1
    Membre éclairé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Par défaut [Hibernate] recuperation de listes d'objets
    Hello tt le monde !

    J'expose rapidement mon pb :

    J'ai une classe "Module" mappée sous hibernate

    Lorsque je veux recuperer la liste des "modules" , je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    List listeObjects = null;
            try {
                listeObjects = session.createSQLQuery("select * from "+DB_TABLE).list();
            } catch (Exception e) {
                logger.error("[Erreur] ### UtilisateurDao ### getAllUtilisateurs  :"+e);
            }
            session.getTransaction().commit();
    Est-ce normal que je ne puisse pas re-caster en "Module" chaque objet de cette liste ?
    Aprés debugage , j'ai vu que chaque Objet de la liste "listeObjects" sont des Object[] ... Donc la solution que j'ai trouvé est de passer par une méthode intermédiaire qui me reconstruit un "Module". (Je veux renvoyer une List<Module> depuis ma couche DAO)

    Il y a t il qqchose qui ne va pas dans mon code ?

  2. #2
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Quand tu cré une requète SQL sous Hibernate, tu passe en mode SQL et non en mode Hibernate. En fait, la reqète SQL tu permet de directement intéroger la base de données via hiebrnate sans passer par la couche de mapping.

    Il te faut donc utiliser une requète en HSQL, le language de query de hibernate. Dans ce cas il utilisera les mappings défini et donc te retournera une liste d'object et non une liste de Object[].
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    session.fin("select * com.developpez.MaClassPersistante);

  3. #3
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut
    Tu peux aussi utiliser plus simplement les requetes proposée par Hibernate évitant HQL et SQL ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            liste.addAll(session.createCriteria(maClasse.class).list());
            return liste;
    Ici tu pourras recaster tes objets sans probleme

  4. #4
    Membre éclairé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Par défaut
    Merci de vos réponses ... je v regarder ça !

    [edit] Aprés essais : j'ai remplacer la requete par ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    listeUtilisateurs = session.createCriteria(Utilisateur.class).list();

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

Discussions similaires

  1. Update et delele une liste d'objets avec Hibernate
    Par guetat_nabil dans le forum Hibernate
    Réponses: 0
    Dernier message: 09/04/2015, 17h22
  2. Réponses: 5
    Dernier message: 22/04/2008, 10h41
  3. Réponses: 1
    Dernier message: 13/09/2006, 11h50
  4. Réponses: 5
    Dernier message: 11/05/2006, 19h20
  5. liste d'objets
    Par Pierrot dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2002, 09h56

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