可以使用criteria来进行分页查询。
if(action!=null){
if(action.getActioninnername()!=null)
criteria.add(Restrictions.like("actioninnername","%"+action.getActioninnername()+"%"));
if(action.getActionoutername()!=null)
criteria.add(Restrictions.like("actionoutername","%"+action.getActionoutername()+"%"));
if(action.getActiondata()!=null)
criteria.add(Restrictions.like("actiondata","%"+action.getActiondata()+"%"));
}
//这个查询出来的是总记录数
int count = (Integer)criteria.setProjection(Projections.rowCount()).uniqueResult();
criteria.setProjection(null);
criteria.setFirstResult(page.getStartIndex()).setMaxResults(page.getPageSize());
actions = criteria.list();
page.setTotalCount(count);