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 :

Pb avec requete HQL


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Par défaut Pb avec requete HQL
    Bonjour à tous et à toutes je confronte un problème concernant les requêtes HQL
    Voici le type d'erreur que je reçoit:
    java.lang.IllegalArgumentException: node to traverse cannot be null!
    org.hibernate.hql.ast.util.NodeTraverser.traverseDepthFirst(NodeTraverser.java:63)
    org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:280)
    org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:182)
    org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
    org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
    org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
    org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:98)
    org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
    org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
    org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1651)
    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:342)
    $Proxy104.createQuery(Unknown Source)
    com.hibernate.Utilisateur.logging(Utilisateur.java:150)
    Servlet.Login.doPost(Login.java:45)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

    et voici le code approprié dans ma servlet:
    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
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
     
    		String ident=request.getParameter("login");
    		String password=request.getParameter("pass");
     
    		Utilisateur u=new Utilisateur() ;
    		Iterator iter=u.logging();
    		boolean exit;
    		while ((iter.hasNext() ) && (exit=false)) {
    			Utilisateur u1 = (Utilisateur) iter.next();
    			int id=u1.getIdentifiant();
    			String idS=Integer.toString(id);
    			String pass=u1.getPassword();
    			if(idS.equals(ident) && pass.equals(password))
    			{
    				exit=true;
    				RequestDispatcher rd=getServletContext().getRequestDispatcher("/page1.jsp");
         		   rd.forward(request,response);
     
    			}
    		}
    		RequestDispatcher rd=getServletContext().getRequestDispatcher("/erreur.jsp");
     
    	}
    ainsi que la méthode logging() dans ma classe Utilisateur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public  Iterator logging()throws HibernateException{
     
    		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    		 session.beginTransaction();
    		 String q="form utilisateur ";
    		 Query query=session.createQuery(q);
    		 List list=query.list();
    		 Iterator it=list.iterator();
    		 return it;
     
    	}
    Y'a t'il une personne qui pourra m'aider à résoudre ce probléme
    Je serais très reconnaissante
    Merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le mot clé c'est from, par form!

  3. #3
    Membre averti
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Par défaut
    Merci ,il parait que je me suis trompé en tapant le mot from mais en corrigeant la requete je reçoit ce type d'erreur:
    org.hibernate.hql.ast.QuerySyntaxException: utilisateur is not mapped [from utilisateur ]
    org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:181)
    org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:110)
    org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:94)
    org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:316)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3228)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3112)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:720)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:571)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:288)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:231)
    org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:254)
    org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:185)
    org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
    org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
    org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
    org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:98)
    org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
    org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
    org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1651)
    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:342)
    $Proxy104.createQuery(Unknown Source)
    com.hibernate.Utilisateur.logging(Utilisateur.java:150)
    Servlet.Login.doPost(Login.java:45)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

    Essaiyez de voir avec mois
    merci une deuxiéme fois

  4. #4
    Membre averti
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Par défaut
    Je vous fournit ici utilisateur.hbm.xml:

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated 24 avr. 2011 10:46:38 by Hibernate Tools 3.3.0.GA -->
    <hibernate-mapping>
    <class name="com.hibernate.Utilisateur" table="utilisateur" catalog="cours">
    <id name="identifiant" type="int">
    <column name="Identifiant" />
    <generator class="assigned" />
    </id>
    <property name="statut" type="string">
    <column name="Statut" length="65535" />
    </property>
    <property name="nom" type="string">
    <column name="Nom" length="20" />
    </property>
    <property name="prenom" type="string">
    <column name="Prenom" length="20" />
    </property>
    <property name="adresse" type="string">
    <column name="adresse" length="65535" />
    </property>
    <property name="email" type="string">
    <column name="email" length="65535" />
    </property>
    <property name="tel" type="java.lang.Long">
    <column name="tel" precision="10" scale="0" />
    </property>
    <property name="password" type="string">
    <column name="password" length="20" />
    </property>
    <set name="professeurs" table="professeur" inverse="true" lazy="true" fetch="select">
    <key>
    <column name="Id_utilisateur" not-null="true" />
    </key>
    <one-to-many class="com.hibernate.Professeur" />
    </set>
    <set name="etudiants" table="etudiant" inverse="true" lazy="true" fetch="select">
    <key>
    <column name="Ident" not-null="true" />
    </key>
    <one-to-many class="com.hibernate.Etudiant" />
    </set>
    <set name="connecteds" table="connected" inverse="true" lazy="true" fetch="select">
    <key>
    <column name="Ident" />
    </key>
    <one-to-many class="com.hibernate.Connected" />
    </set>
    </class>
    </hibernate-mapping>

    et voici aussi mon fichier de confiquration:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
    <session-factory>
    <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.password">maroua</property>
    <property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/cours</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.search.autoregister_listeners">false</property>
    <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    <property name="current_session_context_class">thread</property>
    <property name="hibernate.show_sql">true</property>
    <mapping resource="com/hibernate/Connected.hbm.xml" />
    <mapping resource="com/hibernate/Tuto.hbm.xml" />
    <mapping resource="com/hibernate/MotCle.hbm.xml" />
    <mapping resource="com/hibernate/Module.hbm.xml" />
    <mapping resource="com/hibernate/Professeur.hbm.xml" />
    <mapping resource="com/hibernate/Etudiant.hbm.xml" />
    <mapping resource="com/hibernate/Utilisateur.hbm.xml" />
    <mapping resource="com/hibernate/Profensi.hbm.xml" />
    </session-factory>
    </hibernate-configuration>

    Ils peuvent vous étre util

  5. #5
    Membre averti
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Par défaut
    C'est bon le probléme est résolu il fallait que je mettait String q=" from com.hibernate.Utilisateur"; et non pas simplement String q=" from Utilisateur";
    Merci à vous tous

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

Discussions similaires

  1. pb avec requete HQL
    Par psycho_xn dans le forum Hibernate
    Réponses: 5
    Dernier message: 16/09/2008, 09h09
  2. Réponses: 2
    Dernier message: 22/06/2008, 15h06
  3. Requete HQL avec "all"
    Par Befa21 dans le forum Hibernate
    Réponses: 5
    Dernier message: 23/04/2008, 17h15
  4. requete hql sur association one to many avec inner class
    Par austin P. dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/06/2007, 11h56
  5. Requete HQL avec jointure
    Par chriscoolletoubibe dans le forum Hibernate
    Réponses: 50
    Dernier message: 24/04/2007, 15h54

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