如何在旧版本的 MS SQL Server 中使用 QueryDSL 对查询结果进行分页?对于 Oracle 和 SQL Server 2012+,我可以这样做:
query.offset(startIndex).limit(size);
但是,这在旧版本的 SQL Server 中不起作用,因为不支持偏移量。我知道需要生成的 SQL 代码是这样的:
SELECT *
FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY OrderDate ) AS RowNum, *
FROM Orders
WHERE OrderDate >= '1980-01-01'
) AS RowConstrainedResult
WHERE RowNum >= 1
AND RowNum < 20
ORDER BY RowNum
在 QueryDSL 中执行此操作的最佳方法是什么?