使用criteria.addOrder(Order.asc("sortAttribute"))
对非唯一属性进行排序时,我发现了一种奇怪的行为。返回的结果是重复的。
当sortAttribute是数据库中的唯一键时,工作正常也是如此。
resultObj = criteria.addOrder(order)
.setFirstResult(page.getPageNumber() * page.getPageSize())
.setMaxResults(page.getPageSize())
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
另外,我确实在两个实体之间有一个连接。 (虽然我不明白为什么这可能是不稳定行为的原因)
答案 0 :(得分:0)
好吧,我想我找到了解决这个问题的方法。我做了以下工作以获得预期的结果:
这样结果始终保持正确的顺序,并确保了排序和分页。
希望这可以帮助遇到此类问题的人。