我有一个带有这样的字符串常量的本地查询:
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