Hibernate HQL分页时下一页和本页数据重复的解决

   今天偶然发现,所做项目中的分页显示数据有问题:

Hibernate HQL分页时下一页和本页数据重复的解决_第1张图片

Hibernate HQL分页时下一页和本页数据重复的解决_第2张图片

第一张图中最后一条数据和第二张图中的第一条数据重复,经过多次查询比较一直这样显示,去数据库查看发现:查询的总数和数据库一致,分页也是一致的,就是数据库中的RESULTCODE有三条记录只显示了两条,其中重了一条。

打印的SQL语句:

Hibernate HQL分页时下一页和本页数据重复的解决_第3张图片

分页代码:

Hibernate HQL分页时下一页和本页数据重复的解决_第4张图片

通过输出的SQL语句去数据库查询,发现查询的数据和显示一致,也就是分页SQL语句有问题。

通过上网查询,知道是这是由于Hibernate框架本身的原因导致翻译的SQL语句出现的问题。

解决办法:分页排序时加入主键(这里是id)

Hibernate HQL分页时下一页和本页数据重复的解决_第5张图片

对应的SQL语句为:

Hibernate HQL分页时下一页和本页数据重复的解决_第6张图片


查询结果:

Hibernate HQL分页时下一页和本页数据重复的解决_第7张图片 Hibernate HQL分页时下一页和本页数据重复的解决_第8张图片

                     参考:

                        http://blog.csdn.net/polohoho1/article/details/9283957

你可能感兴趣的:(Java相关)