我有这样的查询,支持分页,

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> ;


我怎么能在冬眠中平等地表示。我不想手工构造查询。相反,我想在冬眠中设置与上述查询匹配的条件。

最佳答案

使用条件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

09-25 18:24