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 : requete hql


Sujet :

Hibernate Java

  1. #1
    Débutant
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Points : 86
    Points
    86
    Par défaut problème : requete hql
    Bonjour, j'ai mis une requete qui contient un and mais il me retourne une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return session.createQuery("from Client where active =='true' and raisonSocial like :x").setString("x","%"+mc+"%").list();
    Mon but est de retourner la liste des clients dans le raison social = a mc et active = true ?

    Comment puis je faire ?

    Merci pour votre aide !!!

  2. #2
    Membre actif Avatar de mOuLi
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2008
    Messages : 170
    Points : 257
    Points
    257
    Par défaut
    Quelle est l'erreur exacte que tu récupères ?

    Okazou, essaye quand même ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return session.createQuery("from Client c where c.active =='true' and c.raisonSocial like :x").setString("x","%"+mc+"%").list();

  3. #3
    Débutant
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Points : 86
    Points
    86
    Par défaut
    voila ce qu'il me dit :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    type Rapport d'exception
     
    message 
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    javax.servlet.ServletException: unexpected token: = near line 1, column 60 [from ma.corporate.planning.metier.Client c where c.active =='true' and c.raisonSocial like :x]
    	org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    cause mère 
     
    org.hibernate.hql.ast.QuerySyntaxException: unexpected token: = near line 1, column 60 [from ma.corporate.planning.metier.Client c where c.active =='true' and c.raisonSocial like :x]
    	org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:59)
    	org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:244)
    	org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:155)
    	org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:105)
    	org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:74)
    	org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:53)
    	org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)
    	org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:108)
    	org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:88)
    	org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1540)
    	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	java.lang.reflect.Method.invoke(Unknown Source)
    	org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:292)
    	$Proxy0.createQuery(Unknown Source)
    	ma.corporate.planning.metier.GestClient.getClientsParRS(GestClient.java:40)
    	presentation.str.ClientsAction.execute(ClientsAction.java:47)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.17.

  4. #4
    Invité
    Invité(e)
    Par défaut
    J'ai toujours utilisé l'API criteria alors je peux me tromper mais le test d'égalité ce serait pas '=' en HQL/SQL en non pas '==' ?

  5. #5
    Membre actif Avatar de mOuLi
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2008
    Messages : 170
    Points : 257
    Points
    257
    Par défaut
    Honte sur moi de ne pas l'avoir vu plus tôt mais effectivement le test d'égalité c'est bien '=' et pas '=='

  6. #6
    Invité
    Invité(e)
    Par défaut
    T'as oublié le tag [Résolu] petit sauvageon !

  7. #7
    Débutant
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Points : 86
    Points
    86
    Par défaut
    malheureusement le = n'a pas résolu le problème et la reque ne passe pas, énormement d'exception, mais lorsque je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return session.createQuery("from Client where active like true and raisonSocial like :x").setString("x","%"+mc+"%").list();
    ca passe tres bien mais il prend uniquement en considération la première condition

  8. #8
    Membre actif Avatar de mOuLi
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2008
    Messages : 170
    Points : 257
    Points
    257
    Par défaut
    Mets les traces SQL (propriété show_sql à "true" dans le fichier hibernate.cfg.xml) et vérifie si la requête qui est envoyée par Hibernate à la base paraît correcte.

  9. #9
    Débutant
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Points : 86
    Points
    86
    Par défaut
    ok merci ca marche maintenant

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

Discussions similaires

  1. [HQL] probléme requete HQL avec clause where in
    Par titawine dans le forum Hibernate
    Réponses: 3
    Dernier message: 16/05/2012, 10h02
  2. Problème Requete HQL
    Par cyclopsnet dans le forum Hibernate
    Réponses: 2
    Dernier message: 15/01/2010, 14h36
  3. problème du paramètre dans une requete hql
    Par moha_alnif dans le forum iReport
    Réponses: 4
    Dernier message: 01/05/2009, 20h50
  4. problème du paramètre dans une requete hql
    Par moha_alnif dans le forum Hibernate
    Réponses: 0
    Dernier message: 01/05/2009, 19h03
  5. Problème requete HQL
    Par newmar dans le forum Hibernate
    Réponses: 8
    Dernier message: 19/05/2008, 18h43

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