Sql server SQL Server 2008上的Spring可分页实现-Offset子句

Sql server SQL Server 2008上的Spring可分页实现-Offset子句,sql-server,jpa,spring-data-jpa,Sql Server,Jpa,Spring Data Jpa,我正在尝试使用@Query注释实现分页和排序存储库。查询非常简单: SELECT DISTINCT(B.batch), B.scanDate, COUNT(B.batchReferenceNumber) as TransactionCount FROM Batch B 我的数据库是SQL Server。生成的查询是: select distinct batch0_.BatchNumber as col_0_0_, count(batch0_.BatchNumber) a

我正在尝试使用@Query注释实现分页和排序存储库。查询非常简单:

SELECT DISTINCT(B.batch), B.scanDate, COUNT(B.batchReferenceNumber) as TransactionCount FROM Batch B
我的数据库是SQL Server。生成的查询是:

    select
    distinct batch0_.BatchNumber as col_0_0_,
    count(batch0_.BatchNumber) as col_8_0_ 
from
    BATCH batch0_ 
order by
    batch0_.BatchNumber asc offset ? rows fetch next ? rows only
我得到一个错误:“偏移量”附近的语法不正确

原因是直到SQL Server 2012才引入“偏移量”


这有什么办法吗?或者与使用接口相比,我是否需要实现自己的存储库?

offset/limit子句的SQL由您的JPA提供商生成。
您可以通过配置正确的
sqldialent
来解决此问题,或者如果没有可用的方言,您可能会对该项目提出问题。

offset/limit子句的SQL由您的JPA提供商生成。
您可以通过配置正确的
sqldialent
来解决此问题,或者如果没有可用的方言,您可能会对该项目提出问题。

这太完美了。我把方言改为2008,现在可以用了。我甚至能够摆脱@Query注释,使用直接的JPQL。这太完美了。我把方言改为2008,现在可以用了。我甚至能够摆脱@Query注释,使用直接的JPQL。