使用Hibernate的setFirstResult,setMaxResults實現資料庫分頁
阿新 • • 發佈:2019-01-07
自己測試:
HQL:
String hql =" from NumberBiz biz where biz.numberDepot.status=?" ;
Object[] values = {Constants.NUM_STATUS_NOT_AVAILABLE};
NumberBiz numberBiz = (NumberBiz)this.createQuery(session,hql,values).setFirstResult(0).setMaxResults(1).uniqueResult();
console view show_sql:
select
*
from
( select
numberbiz0_.id as id83_,
numberbiz0_.create_date as create2_83_,
numberbiz0_.create_by as create3_83_,
numberbiz0_.last_update_date as last4_83_,
numberbiz0_.last_update_by as last5_83_,
numberbiz0_.deleted as deleted83_,
numberbiz0_.addon_services as addon7_83_,
numberbiz0_.first_three_digits as first8_83_,
numberbiz0_.is_recommended as is9_83_,
numberbiz0_.last_four_digits as last10_83_,
numberbiz0_.middle_four_digits as middle11_83_,
numberbiz0_.minimum_expenses_per_month as minimum12_83_,
numberbiz0_.num_type as num13_83_,
numberbiz0_.num as num83_,
numberbiz0_.number_biz_group_id as number19_83_,
numberbiz0_.number_brands as number15_83_,
numberbiz0_.number_depot_id as number20_83_,
numberbiz0_.number_packages as number16_83_,
numberbiz0_.pre_pay as pre17_83_,
numberbiz0_.price as price83_
from
number_biz numberbiz0_,
number_depot numberdepo1_
where
numberbiz0_.number_depot_id=numberdepo1_.id
and numberdepo1_.status=?
)
where
rownum <= ?