salut à tous,

me revoilà avec le problème de la récupération de donnée avec hibernate, après avoir réussi pour le test de la connexion avec la BD et la récupération de nombre d'enregistrements, maintenant je veux récupérer tous les enregistrements de ma table utilisateur, j'ai essayé ce code:

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 
 
public class UserLoginAction extends Action {
	/*
	 * Generated Methods
	 */
	Integer id;
	String email;
	String password;
	String passF;
	String mailF, mailTXT;
	List L1,L, user;
	int i;
	Iterable utilisateur;
	List utilisateurs;
 
 
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
 
		UserLoginForm userLoginForm = (UserLoginForm) form; 
 
 
		// instanciation d'objet utilisateur
    	utilisateur utilisateur = new utilisateur();
 
		// récupération des champs de la BD
		id=utilisateur.getIdUtilisateur();
		email=utilisateur.getEmailUtilisateur();
		password=utilisateur.getPasswordUtilisateur();
 
 
		//récupération des champs du formulaire
		mailF=userLoginForm.getUserName();
		passF=userLoginForm.getPassword();
		mailTXT=userLoginForm.getTXT_Courriel();
 
 
		//instanciation de DAO utilisateur
 
		utilisateurDAO daoutil= new utilisateurDAO();
 
   		utilisateurs = daoutil.getSession().createQuery("select email_utilisateur from utilisateur ").list();
 
		Iterator iter = utilisateurs.iterator();
 
		while( iter.hasNext()) 
		{
			utilisateur element = (utilisateur) iter.next();
 
		}
 
		daoutil.getSession().close();
 
		i=utilisateurs.size();
			if(i==0)
			{
 
				request.setAttribute("test", "not ok :(");
				return mapping.findForward("failure");
			}
 
			request.setAttribute("test", "oki");
			return mapping.findForward("success");
 
	}
}
ceci m'affiche une exception dont la tace est la suivante:

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
 
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.IdentNode 
 \-[IDENT] IdentNode: 'email_utilisateur' {originalText=email_utilisateur}
 
	org.hibernate.hql.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:140)
	org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:702)
	org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:531)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:645)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
	org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
	org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:218)
	org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:158)
	org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:109)
	org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:75)
	org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:54)
	org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)
	org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
	org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
	org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1583)
	com.yourcompany.struts.action.UserLoginAction.execute(UserLoginAction.java:136)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
la ligne 136 fait référence à la ligne:

utilisateurs = daoutil.getSession().createQuery("select email_utilisateur from utilisateur ").list();


Merci pour vos réponses