String hql="select distinct workName from Test";Query q=this.session.createQuery(hql);
System.out.println("----------------------2");
List l=q.list();
System.out.println("----------------------3");
if(l.size()==0){
this.session.close();
return null;
}else{
Iterator iter=l.iterator();
if(iter.hasNext()){
l.add(iter.next());
}
this.session.close();
return l;
}输出
----------------------1
----------------------2
Hibernate: select distinct test0_.workName as col_0_0_ from test test0_报的错误是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:2148)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
org.hibernate.loader.Loader.list(Loader.java:2024)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
com.hibernate.TestOperate.getColName(TestOperate.java:42)
org.apache.jsp.login_jsp._jspService(login_jsp.java:46)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:31)
大家帮帮忙,在网上查过很多,也向别人请教了,但都没结果
System.out.println("----------------------2");
List l=q.list();
System.out.println("----------------------3");
if(l.size()==0){
this.session.close();
return null;
}else{
Iterator iter=l.iterator();
if(iter.hasNext()){
l.add(iter.next());
}
this.session.close();
return l;
}输出
----------------------1
----------------------2
Hibernate: select distinct test0_.workName as col_0_0_ from test test0_报的错误是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:2148)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
org.hibernate.loader.Loader.list(Loader.java:2024)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
com.hibernate.TestOperate.getColName(TestOperate.java:42)
org.apache.jsp.login_jsp._jspService(login_jsp.java:46)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:31)
大家帮帮忙,在网上查过很多,也向别人请教了,但都没结果
你先试试简单的语句看是否报错:
String hql="select t from Test t"; 就这样试试
你查询的时候指定了要查询的列 所以不会返回一个对象