用户登录
用户注册

分享至

hibernate随机查询

  • 作者: 有段就有我
  • 来源: 51数据库
  • 2020-10-09
hql ="select top 5 from 表对象 order newid()"
随机查询表中5条数据。

HQL(Hibernate Query Language)提供更加丰富灵活、更为强大的查询能力;HQL更接近SQL语句查询语法。
常用逻辑:[select/delete/update…][from…][where…][group by…][having…][order by…]



  1
你的hql语句查询的是什么?带条件的?不带条件的?
不带条件的 你的n条数据 这个实现很简单,就是一个用hibernate 分页的方法
cr.setfirstresult(currow);
cr.setmaxresults(pagesize);

currow是指开始位置
pagesize是值查多少个

那么这样的话就可以在你往dao传递参数的时候你加上你随机取得的这两个参数的话就可以实现随机查询n条记录了

2
乱排序问题
确实不知道你的意思是什么 是没有规律的排序吗?
说说有条件排序吧 使用criteria
cr.addorder(order.asc("xxxx"));
这就是hibernate中的排序方法
asc升序 是按照xxxx的属性来排序

希望对你有用



  一般是下面的方法:

SQL SERVER数据库方法:
SELECT TOP 5 F FROM .....

MYSQL数据库的方法:
SELECT F FROM ...... LIMIT 5

ORACLE的方法:
SELECT F FROM ..... AND ROWNUM<=5

INFORMIX的方法:
SELECT FIRST 5 F FROM .......
软件
前端设计
程序设计
Java相关