mysql - Hibernate 相当于分页查询

标签 mysql sql hibernate pagination hibernate-mapping

我有一个像这样的带有分页支持的查询,

select *
from (select distinct field1
from table
where field2 = 'some_value'
and filed3 > 'somevalue'
and field4 in('somevalues')
and field5 is null order by field1)
where ROWNUM <= <page_size> ;

我如何在 hibernate 中平等地表示。我不想手动构造查询。相反,我希望在 hibernate 中设置与上述查询匹配的条件。

最佳答案

使用条件 API 中的第一个结果和最大结果。友情链接 here .

Criteria queryCriteria = session.createCriteria(YourClass.class);
queryCriteria .setProjection(Projections.distinct(Projections.property("id")));
queryCriteria.setFirstResult(10);
queryCriteria.setMaxResults(20);
queryCriteria.add(Restrictions.eq( "propertyOne", 10));  //Add restrictions here
List data = queryCriteria.list();

上面的查询将为您提供记录 10-20

关于mysql - Hibernate 相当于分页查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23543448/

相关文章:

当计算多列中的出现次数时,mysql错误 "Operand should contain 1 column(s)"

比较 datetime2 时 SQL 忽略纳秒

java - 在 hibernate 条件查询中选择 "all columns"和 "group by"

java - 没有 session.getTransaction 方法不存在

java - 两个不同的对象在 hibernate 中加载

PHP + MySQL 适用于 VLDB

php - select语句在mysql上运行非常慢

mysql - 结合 LIKE 和 AND 的 SQL 给出了错误的结果

mysql - 在 SELECT 语句中组合两个字段

mysql - 如何排除不等于运算符的 NULL?