Encore des problemes avec struts/hibernate
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:
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:
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