springJpa中分页语句里拼接orderBy

if(geReqMain.getInputDate()!=null){
list.add(cb.equal(root.<Date> get("inputDate"), geReqMain.getInputDate()));
}
public Page<GeReqMain> findGeReqMainDtoList(final GeReqMain geReqMain, Pager pager) {
		
		Page<GeReqMain> pages = null;
		Pageable pr = new PageRequest(pager.getPageNum() - 1,pager.getNumPerPage());
		pages = geReqMainDao.findAll(new Specification<GeReqMain>() {
			public Predicate toPredicate(Root<GeReqMain> root,
					CriteriaQuery<?> query, CriteriaBuilder cb) {
				if (null == geReqMain) {
					return null;
				}
				List<Predicate> list = new ArrayList<Predicate>();
				// 加入查询条件
				if (!StringUtils.isEmpty(geReqMain.getReqId())) {
					list.add(cb.like(root.get("reqId").as(String.class), "%"+ geReqMain.getReqId().trim() + "%"));
				}
				if (!StringUtils.isEmpty(geReqMain.getReqName())) {
					list.add(cb.like(root.get("reqName").as(String.class), "%"+ geReqMain.getReqName().trim() + "%"));
				}
				if (!StringUtils.isEmpty(geReqMain.getReqOA())) {	
					list.add(cb.like(root.get("reqOA").as(String.class), "%"+ geReqMain.getReqOA().trim() + "%"));
				}
				if (!StringUtils.isEmpty(geReqMain.getOnLineOA())) {	
					list.add(cb.like(root.get("onLineOA").as(String.class), "%"+ geReqMain.getOnLineOA().trim() + "%"));
				}
				if (!StringUtils.isEmpty(geReqMain.getReqNode())) {	
					list.add(cb.like(root.get("reqNode").as(String.class), "%"+ geReqMain.getReqNode().trim() + "%"));
				}
				if(geReqMain.getInputDate()!=null){
					list.add(cb.equal(root.<Date> get("inputDate"), geReqMain.getInputDate()));
				}
				if (!StringUtils.isEmpty(geReqMain.getAgencyCode())) {	
					list.add(cb.like(root.get("agencyCode").as(String.class), "%"+ geReqMain.getAgencyCode().trim() + "%"));
				}
				List<Order> lists = new ArrayList<Order>();//查询语句拼接orderBy
				lists.add(cb.desc(root.get("reqId").as(String.class)));
				query.orderBy(lists);
				Predicate[] p = new Predicate[list.size()];
				return cb.and(list.toArray(p));
			}
		}, pr);
		return pages;
	}	

 


版权声明:本文为weixin_42998647原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。