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 :

Recuperer le noms des attributs d'une requete avec Hibernate


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Recuperer le noms des attributs d'une requete avec Hibernate
    Bonjour tout le monde

    Je suis actuellement sur un projet en Java qui utilise Hibernate. Dans ce projet je dois faire un requeteur SQL qui permettra à l'utilisateur de taper sa propre requete (SQL et pas HQL) ce qui lui affichera un tableau avec les différentes lignes resultats, et en entete les noms des attributs.

    Ma question est donc la suivante, quand on fait un "session.createQuerySQL("select * from personnes");" j'aimerai savoir comment recuperer les noms des attributs renvoyés (Par exemple : nom, prenom, date_naissance, ...)

    Merci à vous

  2. #2
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    qui permettra à l'utilisateur de taper sa propre requete (SQL et pas HQL)
    Dommage.

    Pourquoi ne pas utiliser un formulaire ?

  3. #3
    Membre à l'essai
    Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Salut,

    c'est le souhait du "client" d'avoir un requeteur SQL pur et simple où il peut rentrer ses propres requêtes. (Il ne connait pas vraiment hibernate mais très bien SQL).

    A plus,
    Molkobain

  4. #4
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640

  5. #5
    Membre à l'essai
    Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    J'avais justement regardé dejà sur cette page, mais je n'ai rien trouvé. Tu penses qu'il faut se servir des aliases ?

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Lorsque tu utilises une requête "native" Hibernate (createSQLQuery)
    le résultat est retourné sous forme de tableau d'objet.

    Pour ce genre de traitement, j'utiliserais plutôt JDBC, quitte à utiliser l'objet session d'Hibernate pour récupérer la connexion.
    Ensuite, via les MetaData, on peut tout faire de manière dynamique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    List<List<String>> list = new ArrayList<List<String>>();
     
    ResultSet rs = stmt.executeQuery("select * from MaTable");
    ResultSetMetaData rsmd = rs.getMetaData();
    while (rs.next())
    {
       List<String> record = new ArrayList<String>();
       for (int i = 1; i <= rsmd.getColumnCount(); i++)
       {
          record.add(rs.getString(i));
       }
       list.add(record); 
    }

  7. #7
    Membre à l'essai
    Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Si je veux faire via le jdbc, je peux recuperer les parametres de connexion (url, user, mdp) qui sont dans ma session Hibernate ?

    Vu que tout ceci est centralisé dans le hibernate.cfg.xml

    Merci

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Si tu regardes bien, l'objet session (Hibernate) à un getter sur l'objet Connection.
    Tu fais juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Connection connection = session.connection();

  9. #9
    Membre à l'essai
    Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Effectivement !

    La fonction est dépreciée mais je suppose qu'elle marche quand meme bien.

    Merci beaucoup en tout cas !

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Molkobain Voir le message
    La fonction est dépreciée mais je suppose qu'elle marche quand meme bien.
    Quelle version utilises-tu ?

  11. #11
    Membre à l'essai
    Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Hibernate 3, mais ca c'est quelque chose que je ne peut pas changer, c'est imposé.

  12. #12
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Molkobain Voir le message
    Hibernate 3, mais ca c'est quelque chose que je ne peut pas changer, c'est imposé.
    Effectivement, elle est deprecated en v3, je n'avais pas fait attention...
    C'est à la fois dommage et compréhensible...

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

Discussions similaires

  1. Recuperer les noms des champs d'une View
    Par sihammaster dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/05/2010, 12h22
  2. Réponses: 2
    Dernier message: 08/07/2009, 14h28
  3. [AC-2007] Changer le nom des attributs dans une liste déroulante
    Par Razorback dans le forum IHM
    Réponses: 8
    Dernier message: 17/04/2009, 12h04
  4. recuperer le nom du champ via une requete
    Par Invité dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/03/2007, 21h32
  5. récupérer le nom des attributs d'une classe
    Par danyboy85 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 22/06/2006, 11h42

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