jpa连表查询
JPAQuery<TSscPlanDayExecutePO> jpaQuery = jpaQueryFactory.selectFrom(planDayExecutePO) .leftJoin(tSscPlanDayPO).on(tSscPlanDayPO.id.eq(planDayExecutePO.objDayplan)) .leftJoin(tSscListPlanPwExtendPO).on(tSscPlanDayPO.id.eq(tSscListPlanPwExtendPO.planId)) .leftJoin(pwEngBasePO).on(tSscListPlanPwExtendPO.engId.eq(pwEngBasePO.engId)); if(!StringUtils.isListEmpty(vo.getExcStatusList())){ eq = eq.and(planDayExecutePO.excStatus.in(vo.getExcStatusList())); } if(StringUtils.isNotEmpty(vo.getKeyWord())){ BooleanExpression contains = tSscPlanDayPO.code.contains(vo.getKeyWord()); contains=contains.or(pwEngBasePO.engName.contains(vo.getKeyWord())); eq = eq.and(contains); } if (pwProDeptPO != null && "02".equals(pwProDeptPO.getProDeptType())) { eq = eq.and(tSscPlanDayPO.leadCode.eq(String.valueOf(loginSysStaffDto.getStaffId()))); } if (StringUtils.isNotEmpty(vo.getWorkBeginDateStar())) { eq = eq.and(tSscPlanDayPO.workBeginDate.goe(vo.getWorkBeginDateStar())); } if (StringUtils.isNotEmpty(vo.getWorkBeginDateEnd())) { eq = eq.and(tSscPlanDayPO.workBeginDate.loe(vo.getWorkBeginDateEnd())); }
别的表排序
jpaQuery=jpaQuery.where(eq).orderBy(tSscPlanDayPO.createdate.desc());
jpa分组查询去重,自从到了mysql8.0就蛋疼了
QPwEngBasePO pwEngBasePOq = QPwEngBasePO.pwEngBasePO; JPAQuery<Tuple> distinct = jpaQueryFactory.select(pwEngBasePOq.engName , pwEngBasePOq.engCode , pwInvestmentPlanPOq.investmentPlanName , tAsseDesignResultPOq.createDate.max() , pwEngBasePOq.engId) .from(pwEngBasePOq) .leftJoin(pwProBasePOq).on(pwProBasePOq.proId.eq(pwEngBasePOq.proId)) .leftJoin(pwInvestmentPlanPOq).on(pwProBasePOq.investmentPlanId.eq(pwInvestmentPlanPOq.investmentPlanId)) .leftJoin(pwEngStatusPOq).on(pwEngStatusPOq.engId.eq(pwEngBasePOq.engId)) .leftJoin(pwPlanDayPOq).on(pwPlanDayPOq.engId.eq(pwEngBasePOq.engId)) .leftJoin(tAsseDesignResultPOq).on(pwEngBasePOq.engId.eq(tAsseDesignResultPOq.engId)) .where(pwEngStatusPOq.milestonePhase.isNotNull()) .orderBy(tAsseDesignResultPOq.createDate.max().desc()) .groupBy(pwEngBasePOq.engId)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?