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 :

HQL query et SQL query


Sujet :

Hibernate Java

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut HQL query et SQL query
    J ai remarqué que si on utilise

    result = (Integer) sess.createQuery("select ...").uniqueResult();
    on doit utilisé du HQL :/

    et si on utilise

    SQLQueryImpl sqlQuery = (SQLQueryImpl) sess.createSQLQuery(sqlString);
    result = sqlQuery.list().size()

    on peut utilisé du sql classique

    il n y a t il pas moyen d utilisé ce uniqueResult() sur du sql classique je galère a écrire une méthode générique count et j ai pas envie de me tapper ca en HQL

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    je viens de remarqué qu il existe

    result = (Integer) sess.createSQLQuery(sqlString).uniqueResult();

    mais lorsque je lui passe une requete SQL classique ... du type

    select count(*) from PRODUCT as dbObject where dbObject.id_market=3128

    il plante ERROR http-8080-Processor24 org.hibernate.util.JDBCExceptionReporter - Column '' not found.

    ca parle a quelqu un ??

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    Bonsoir,

    A priori en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    String query = "select count(*) from Table1"; 
    Integer nb_element = (Integer)sess.createQuery(query) .uniqueResult(); 
    //uniqueResult() te retourne un objet de type Integer 
    
    int nb1 = nb_element.intValue(); 
    
    System.out.println("le nombre est de : "+nb1);
    cela devrait marcher

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    miracle j ai rajouté select count(*) as productCount .......

    puis

    result = (Integer) sess.createSQLQuery(sqlString).addScalar("productCount", Hibernate.INTEGER).uniqueResult();

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

Discussions similaires

  1. [SQL QUERY] Problème avec les servlet plutôt qu'avec SQL
    Par Battosaiii dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/04/2006, 01h08
  2. SQL Query sur deux tables différentes.
    Par kabal22 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 25/12/2005, 17h52
  3. SQL Query. Récupérer une valeur
    Par James64 dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/11/2005, 14h15
  4. Utilisation de l'apostrophe en SQL QUERY
    Par joshua.shamael dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 28/04/2005, 17h53
  5. Recherche Data pour m'exercer en SQL-Query
    Par Oneill dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 13/10/2004, 11h43

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