用easyui dataGuid分页展示数据的时候遇到一个问题,那就是在第一页展示的某条记录重复出现在第二页,后台查询语句如下:
EasyDataGrid grid = new EasyDataGrid();
String hql = "from Model a where a.type='1";
hql += "order by a.name";
long total = (long) this.count("select count(*) " + hql);
hql += orderHql(dto);
List<Model > rows = this.getList(hql, dto.getPage(), dto.getRows());
grid.setRows(rows);
grid.setTotal(total);
return grid;
原因就是 order by a.name,其中name不是唯一的,在分页查询去重中无法分辨,才会出现重复的数据
改成 hql += "order by a.id";即可