为什么我觉得我的程序没有错,而它又要报错呢?
后来经过我的测试是List list= query.list();的错。public Toperator isOperator(String operatorName, String operatorPwd) {
Toperator operator=null;
Session session=factory.openSession();
Transaction ts=session.beginTransaction();
Query query=session.createQuery("from Toperator o where o.operatorName='"+operatorName+"'and o.operatorPwd='"+operatorPwd+"'");
List list= query.list();
Iterator it=list.iterator();
if(it.hasNext()){
operator=(Toperator)it.next();
}
ts.commit();
session.close();
return operator;
}
报的错为:org.hibernate.exception.SQLGrammarException: could not execute query
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.loader.Loader.doList(Loader.java:2216)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
org.hibernate.loader.Loader.list(Loader.java:2099)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
dao.LoginDAOImp.isOperator(LoginDAOImp.java:31)
business.LoginImp.isOperator(LoginImp.java:12)
struts.action.LoginAction.execute(LoginAction.java:56)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
后来经过我的测试是List list= query.list();的错。public Toperator isOperator(String operatorName, String operatorPwd) {
Toperator operator=null;
Session session=factory.openSession();
Transaction ts=session.beginTransaction();
Query query=session.createQuery("from Toperator o where o.operatorName='"+operatorName+"'and o.operatorPwd='"+operatorPwd+"'");
List list= query.list();
Iterator it=list.iterator();
if(it.hasNext()){
operator=(Toperator)it.next();
}
ts.commit();
session.close();
return operator;
}
报的错为:org.hibernate.exception.SQLGrammarException: could not execute query
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.loader.Loader.doList(Loader.java:2216)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
org.hibernate.loader.Loader.list(Loader.java:2099)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
dao.LoginDAOImp.isOperator(LoginDAOImp.java:31)
business.LoginImp.isOperator(LoginImp.java:12)
struts.action.LoginAction.execute(LoginAction.java:56)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
解决方案 »
- 关于httpclient的https问题
- 急求一段js代码,希望好心人解答
- Could not parse configuration: /com/ccit/entca/conf/hibernate.cfg.xml 在线急等!!!
- Hibernate 自动建表问题
- Strust 2 如何批量数据
- Java developer 常用的调试工具
- java反射 判断类中是否含有某个方法
- osworkflow怎么支持ejb,谁有支持ejb的osworkflow.xml配置文件,或解决了jdbc事务的进.(解决另送100分)
- highcharts 浏览器文档模式问题
- jdbc是否有锁定数据库表和解锁数据库表的功能呀(在线等待)
- hibernate的HQL语言错误
- could not execute query
这样写HQL太乱而且容易出错
String hql="from Toperator o where o.operatorName=?"
Query q=session.createQuery(hql);
q.setString();
这样写HQL太乱而且容易出错
String hql="from Toperator o where o.operatorName=?"
Query q=session.createQuery(hql);
q.setString();
看报错好像不是表或字段不存在.