(求助)hibernate中用原SQL写子查询的问题

绿豆眼睛 2007-07-16 11:04:10
以下SQL在List tmpList = getSession().createQuery(base.toString()).list();中运行出错,不知道是什么问题望高手解答下
SELECT Me.senddate, Me.datacount
FROM (SELECT Ml.senddate AS senddate, count(*) AS datacount
FROM Maker Ma,
Mlist Ml
WHERE Ma.flag = '1'
AND Ma.tcode = Ml.tcode
GROUP BY Ml.senddate
ORDER BY Ml.senddate DESC) Me
WHERE rownum <= 7
异常:SystemError:findMlistListnullin expected: SELECT [ SELECT Me.senddate, Me.datacount FROM ( SELECT Ml.comp_id.senddate AS senddate, count(*) AS datacount FROM model.Maker Ma, model.Mlist Ml WHERE Ma.flag = '1' AND Ma.tcode = Ml.tcode GROUP BY Ml.comp_id.senddate ORDER BY Ml.comp_id.senddate DESC) Me WHERE rownum <= 7 ][Ljava.lang.StackTraceElement;@df9252
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jingtao8177 2007-07-30
  • 打赏
  • 举报
回复
up
sureyor 2007-07-16
  • 打赏
  • 举报
回复
恩,同意楼上,SQL语句没有问题,很正确,错误的在于执行SQL的方式不对
createQuery是执行HQL的
而createSQLQuery菜市执行原SQL的
crazy_he 2007-07-16
  • 打赏
  • 举报
回复
我记得是不是应该写成这样子 getSession().createSQLQuery(sql)
zxh2208180 2007-07-16
  • 打赏
  • 举报
回复
问题在SELECT Ml.senddate AS senddate, count(*) AS datacount,
表达式(count(*)) 和 普通字段不能一起用..

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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