HQL语句随机查询数据

accpjiangwei 2008-11-15 07:54:47
使用HQL语句 随机查询数据库前10条记录
String hql="select top 1 * from EngageExam e where e.majorKindId= '"+majorKindId+"' and e.majorId='"+majorId+"' order by newid()";
我这样写不可以,有没有什么别的方法啊?
...全文
431 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
accpjiangwei 2008-11-18
  • 打赏
  • 举报
回复
我以为HQL 不支持newid()函数的...
yousite1 2008-11-16
  • 打赏
  • 举报
回复
你就这样写SQL。然后用CreateSQLQuery进行查询吧。
jackzhangyunjie 2008-11-16
  • 打赏
  • 举报
回复
兄弟你真强,怎么可以像你那样写呢?这种写法和写Sql有什么区别吗?既然用了Hibernate为什么不用它里面好的东西呢?
你的Hql可以改写成:
String hql="select * from EngageExam e where e.majorKindId=? and e.majorId=? order by newid";
//创建查询对象
Query query = this.getSession().createQuery(hql);
//对查询语句进行赋值
query.setParameter(0,majorKindId);
query.setParameter(1,majorId);
//设置起始行数和最大查询行数
query.setFirstResult(0);
query.setMaxResults(10);
//返回前10条记录。
return query.list();

67,512

社区成员

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

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