使用条件选择分页表的分页查询

时间:2018-10-26 10:00:33

标签: pagination hibernate-criteria

我必须使用冬眠设计一个用于分页的查询(以及排序)。

我已经使用如下所示的条件查询进行了设计,并且效果也不错。

                //normal criteria query  
                Criteria crit = session.createCriteria(User.class);

                if(sortBy == null || sortBy.isEmpty()){
                crit.addOrder(Order.asc("userId"));    
                }else{

                   if("asc".equals(sortOrder)){
                       crit.addOrder(Order.asc(sortBy));                                   
                   }else if("desc".equals(sortOrder)){
                       crit.addOrder(Order.desc(sortBy));      
                   }else{
                       crit.addOrder(Order.asc(sortBy));       
                   }
               }

               crit.setFirstResult((pageNo - 1) * pageSize );
               crit.setMaxResults(pageSize);     

               crit.list()

但是我从业务部门收到的实际查询非常复杂,如下所示-

select table1.column1,table1.column2,table1.column3,table2.column1,table2.column2,table3.column1 
from table1,table2,table3 
where table1.column1 = table2.column2 
and table2.column1=table3.column2 

我的问题是:

对于上述查询,我​​应该如何使用paginated query来写criteria

我需要使用criteria,因为它为使用-setFirstResult and setMaxResults的分页提供了支持

请提供任何指导?

0 个答案:

没有答案