jpa自定义复杂查询(包含子查询,自定义排序)
自定义请求参数结构
private Integer pageNo = 0;
private Integer pageSize = 10;
private List<Filter> filter;
private List<Reorder> reOrders;
子查询
Subquery<ReaderEmployeeRelationModel> subQuery = query.subquery(ReaderEmployeeRelationModel.class);
select * Root<ReaderEmployeeRelationModel> subRoot = subQuery.from(ReaderEmployeeRelationModel.class);
subQuery.select(subRoot.get("id").get("employeeGid"));
Predicate readerEqual = cb.equal(subRoot.get("id").get("readerGid"), request.getOperatorGid());
subQuery.where(readerEqual);
Predicate readerIn = cb.in(root.get("id").get("employeeGid")).value(subQuery);