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 :

recupere des properiètes avec selevt HQL


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 204
    Points : 64
    Points
    64
    Par défaut recupere des properiètes avec selevt HQL
    Bonjour,
    J'ai une réquette HQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getHibernateTemplate().find("select id.typDet, id.libDet from DetailVariante where variante.id="+varId );
    et je vais pouvoir accéder aux propriétés retournées du coup j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<DetailVariantePrj> detailType = getHibernateTemplate().find("select id.typDet, id.libDet from DetailVariante where variante.id="+varId );
    mais il me lance toujours une exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     java.lang.ClassCastException: [Ljava.lang.Object;
    quelqu'un a une idée

    Merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Le find("select") te retourne une List<Object []> car tu sélectionnes certaines propriétés et non l'objet complet.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 204
    Points : 64
    Points
    64
    Par défaut
    alors comment je fais pour accéder à ces propriétés?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    A priori, comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    List<Object[]> detailsType = getHibernateTemplate().find("select id.typDet, id.libDet from DetailVariante where variante.id="+varId );
     
    for(Object[] detail : detailsType) 
    {
        Integer type = (Integer) detail[0];
        String libelle = (String) detail[1];
    }
    Et n'oublies pas d'utiliser les requêtes paramétrées !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    L'autre solution consiste à faire quelque chose de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    List<DetailVariantePrj> detailsType = getHibernateTemplate().find("select new DetailVariante(det.typDet, det.libDet) from DetailVariante det where det.id="+varId );
     
    for(DetailVariantePrj detail : detailsType ) 
    {
     // TODO
    }
    Par contre, cette méthode fonctionne à partir du moment où le constructeur invoqué dans la requête existe réellement.

Discussions similaires

  1. [XPATH] Recuperer des nodelist avec xpath
    Par Warkorentin dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 14/03/2014, 08h23
  2. Recuperer des données avec return
    Par osmanab dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 12/05/2010, 08h43
  3. probleme de recuperation des saisie avec gtkentry
    Par lazoir dans le forum GTK+ avec C & C++
    Réponses: 8
    Dernier message: 25/04/2010, 21h40
  4. Réponses: 2
    Dernier message: 12/05/2008, 18h17
  5. Envoyer et recuperer des buffers avec les Socket
    Par kaderscream dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/08/2006, 11h44

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