我正在考虑将我们传统的JPA/DAO解决方案迁移到Spring Data上。
然而,我们的某个前端是SmartGWT,他们的数据绑定组件仅使用limit/offset逐步加载数据,这使得使用Pageable变得困难。
这会导致问题,因为不确定limit/offset是否可以被均匀地转换成页码。(它可能因用户滚动、屏幕调整大小等而有所不同。)
我看了一下Slice等,但没能找到在任何地方使用limit/offset值的方法。
想知道有没有人有什么建议?最理想的情况是我想继续使用limit/offset,在我的Repository接口中使用它们,而不需要像现在这样编写实现并手动设置它们(query.setMaxResults等)
编辑:为了澄清我为什么有问题- limit/offset可能会在Smartgwt组件中的初始和后续数据获取之间有所不同。对于一个列表网格,第一次获取可能将限制设为89,例如,因为这是屏幕上可见行的数量,偏移量为0。然而,下一次请求可能会有偏移量89,以及限制为50,因为这是组件的“datapagesize”值为50,所以当我向下滚动时,它会获取这些数据。 如果我在释放之前滚动太远,它可能(取决于设置)会获取例如行159-209。基本上,没有保证偏移量是任何东西的倍数。很难将偏移量17和限制5转换为页码。