JPAQueryFactory jpaQueryFactory = new JPAQueryFactory(entityManager); QTSscDeptAgPO tSscDeptAgPO = QTSscDeptAgPO.tSscDeptAgPO; List<TSscDeptAgPO> fetch = jpaQueryFactory.selectFrom(tSscDeptAgPO) .where(tSscDeptAgPO.pwOrgCode.startsWith(Optional.ofNullable(vo.getOrgCode()).orElse(""))) .fetch();
jpa中limit查询,jpa分页,jpa偏移量
jpaQueryFactory.selectFrom(workTodoPO).where(workTodoPO.workType.eq( "project_score").and(workTodoPO.finish.eq("0"))).orderBy(workTodoPO.id.asc()).offset(i).limit(500).fetch();
jpa分页处理
package com.peony.common.util; import com.peony.common.entity.PPage; import com.querydsl.jpa.impl.JPAQuery; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.util.List; /** * @projectName: server * @package: com.peony.common.util * @className: PPageUtil * @author: zy * @description: * @date: 2022-04-07 10:40 */ public class PPageUtil { public static <T> PPageData page(JPAQuery<T> jpaQuery, PPage pPage){ if(pPage.getPage()==null||pPage.getPage()<=0){ pPage.setPage(1); } if(pPage.getPageSize()==null||pPage.getPageSize()<=0){ pPage.setPageSize(10); } PPageData pPageData = new PPageData(); Long l = jpaQuery.fetchCount(); pPageData.setTotal(l.intValue()); pPageData.setPage(pPage.getPage()); List<T> fetch = jpaQuery.offset((long) (pPage.getPage() - 1) *pPage.getPageSize()).limit(pPage.getPageSize()).fetch(); pPageData.setData(fetch); return pPageData; } @Data @Accessors(chain = true) public static class PPageData{ @ApiModelProperty(value = "总条数") private int total; @ApiModelProperty(value = "当前页") private int page; @ApiModelProperty(value = "数据") private List data; } }
QWorkTodoPO workTodoPO = QWorkTodoPO.workTodoPO; JPAQuery<WorkTodoPO> workTodoPOJPAQuery = jpaQueryFactory.selectFrom(workTodoPO); workTodoPOJPAQuery.where(workTodoPO.finish.eq("0")); if(vo.getWorkType()!=null&&vo.getWorkType().size()>0){ workTodoPOJPAQuery.where(workTodoPO.workType.in(vo.getWorkType())); } PPageUtil.PPageData page = PPageUtil.page(workTodoPOJPAQuery, vo);