Closed Greenjiao closed 3 months ago
1.4.10
使用selectJoinPage分页数据records和total不一致
default PageResult<RoomRespVO> selectRespPage(RoomPageReqVO reqVO) { MPJLambdaWrapper<RoomDO> mpjLambdaWrapper = new MPJLambdaWrapper<RoomDO>() .selectAll(RoomDO.class) // 联表:标签、时间段 .selectCollection(RoomTagDO.class, RoomRespVO::getRoomTagList) .selectCollection(RoomTimeDO.class, RoomRespVO::getRoomTimeList) .leftJoin(RoomTagDO.class, RoomTagDO::getRoomId, RoomDO::getId) .leftJoin(RoomTimeDO.class, RoomTimeDO::getRoomId, RoomDO::getId) // 基本条件 .eq(ObjectUtil.isNotNull(reqVO.getId()), RoomDO::getId, reqVO.getId()) .like(ObjectUtil.isNotNull(reqVO.getName()), RoomDO::getName, reqVO.getName()) // 标签 .in(ObjectUtil.isNotEmpty(reqVO.getTags()), RoomTagDO::getTag, reqVO.getTags()) // 时间段 .in(ObjectUtil.isNotEmpty(reqVO.getPeriods()) && !reqVO.getPeriods().contains(6), RoomTimeDO::getPeriod, reqVO.getPeriods()); Page<RoomRespVO> roomDOPage = selectJoinPage( new Page<>(reqVO.getPageNo(), reqVO.getPageSize()), RoomRespVO.class, mpjLambdaWrapper ); return new PageResult<>(roomDOPage.getRecords(), roomDOPage.getTotal()); }
烦请大佬们赐教,在pageNo为1,size为10的时候就少数据,调大size就能正常,请问可能是什么原因导致呢
无报错,获得的结果records数比total数少
仔细看了看直接执行sql,是因为转换成sql的时候,那个limit有问题,丢失了部分数据,那这样分页似乎就是必然会丢失数据呀。
一对多分页查询保证分页数据准确性大家有什么好的方案嘛
我现在想的是全表查手动分页...
一对多分页查询保证分页数据准确性大家有什么好的方案嘛 我现在想的是全表查手动分页...
最后怎么解决的?
当前使用版本(必填,否则不予处理)
1.4.10
该问题是如何引起的?(确定最新版也有问题再提!!!)
使用selectJoinPage分页数据records和total不一致
重现步骤(如果有就写完整)
烦请大佬们赐教,在pageNo为1,size为10的时候就少数据,调大size就能正常,请问可能是什么原因导致呢
报错信息
无报错,获得的结果records数比total数少