关于hibernate的问题,query对象

阳光下的树影斑驳 2005-03-25 10:34:11
在调用list = query.list();之前 ,HQL语句为:

SELECT COUNT(*) FROM JobPlan AS jobPlan WHERE jobPlan.storeHouseNO = ? AND jobPlan.jobPlanType = ? AND jobPlan.state = ? AND jobPlan.userNO = ? AND jobPlan.recordType = ? ORDER BY jobPlan.createDate ASC


在调用之后,执行的却变成了:
select * from ( select COUNT(*) as x0_0_ from B_JOBPLAN jobplan0_ where (jobplan0_.STOREHOUSENO=? )AND(jobplan0_.JOBPLANTYPE=? )AND(jobplan0_.STATE=? )AND(jobplan0_.USERNO=? )AND(jobplan0_.RECORDTYPE=? ) order by jobplan0_.CREATEDATE ASC ) where rownum <= ?
为什么会在语句前加上了“select * from ( ”,在语句后加上了“where rownum <= ?”,为什么?
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢大家,问题已经解决,大约是环境的问题。
zcjl 2005-03-25
  • 打赏
  • 举报
回复
这个好像OracleDialect的sql句式,用来取得相应数目(就是where rownum <= ?的那个参数值)的记录
  • 打赏
  • 举报
回复
我只调用了一次query.list()啊。多重select是什么?
wenchaohu213 2005-03-25
  • 打赏
  • 举报
回复
告诉你再调用的时候select

你可能在运行的时候实行了多重select

从而在查询的时候出现两个select的要求语句
  • 打赏
  • 举报
回复
为什么会在语句前加上了“select * from ( ”,在语句后加上了“where rownum <= ?”,为什么?

81,092

社区成员

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

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