Hibernate可分页的本机查询,其字符串常量包含在SQL Server上不起作用的空间

时间:2019-07-17 13:27:10

标签: sql-server hibernate nativequery pageable

我有一个带有这样的字符串常量的本地查询:

List result = entityManager
    .createNativeQuery("select id, 'test test' FROM my_table")
    .setFirstResult(1).setMaxResults(1).getResultList();

此查询引发异常:

com.microsoft.sqlserver.jdbc.SQLServerException: The index 1 is out of range.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:234) ~[mssql-jdbc-7.2.2.jre8.jar:na]
    ...

第一页正在工作(休眠使用TOP创建一个选择),但所有下一页均不工作(休眠创建一个选择包装有另一个行号的选择,而这种包装是错误的)。为了使此查询有效,我必须从“测试测试”中删除空格或将其作为查询参数插入。

这是休眠错误,还是必须以其他方式转义带有空空格的字符串常量,而不是'?

Java 1.8,Spring Boot 2.1.6,Hiberante 5.4.2.Final,SQLServer2012Dialect,SQL Server 2012

0 个答案:

没有答案