请教 Hibernate 中 querystring 写法? (在线等,谢谢)

inspironcxw 2009-05-20 10:42:41
代码 如下:
queryString= " from TGroup g left outer join g.TYearTaskDetails d
where trim(d.yearId) ='"+year+"' order by g.parentId, g.groupLevel";
//queryString= " from TGroup g left outer join g.TYearTaskDetails d order by g.parentId, g.groupLevel";

getHibernateTemplate().find(queryString);

使用 注释后的queryString 有结果集返回,但换了上面的就没有结果集了,加个条件就不行了,问题出在哪里?
错误提示如下:
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:541)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:451)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:264)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1176)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:454)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.bjsat.context.SetRequestEncodingFilter.doFilter(SetRequestEncodingFilter.java:106)


root cause

java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.bjsat.web.action.DispatchWebActionSupport.execute(DispatchWebActionSupport.java:54)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:449)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:264)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1176)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:454)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.bjsat.context.SetRequestEncodingFilter.doFilter(SetRequestEncodingFilter.java:106
...全文
194 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qyp9820 2009-05-21
  • 打赏
  • 举报
回复
String queryString="select u from User u where u.id=:userName";
Query query=session.createQuery(queryString);
query.setString("userName",username);
这样写比你拼接HQL更安全,u.id的类弄要和username的一致,如果是int型的
query.setString("userName",username)要改为query.setInteger("userName",username);
inspironcxw 2009-05-21
  • 打赏
  • 举报
回复
原因已查到,可能是引用Hibernate 包出问题了,直接拷贝下载在的包到web-inf中
3楼 讲的有道理 hql 语法是个问题 不是很熟很难写对,谢谢啦!!
tianyagujian1 2009-05-20
  • 打赏
  • 举报
回复
String queryString="select u from User u where u.id='"+ username + "' ";
Query query=session.createQuery(queryString);

我是这样写的,能够连接数据库
haolisdk1 2009-05-20
  • 打赏
  • 举报
回复
应该是hql语句写的不对,把trim去掉试试!

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧