我正在将一个使用DB2数据库的应用程序从Spring(IBM Websphere)迁移到Springboot(Embedded Tomcat)。
使用hib4.1.9.Final的现有应用程序使用以下FETCH查询可以完美地运行:
@Query(
"SELECT ssss FROM SSSSPackageDiscountLoad ssss, SSSBasicLoad ttt WHERE ssss.schemeId = ttt.id AND ttt.code = :schemeCode AND "
+ "ssss.ruleCode = :ruleCode ORDER BY ssss.effDate DESC FETCH FIRST 1 ROWS ONLY")
迁移的springboot(版本2.1.7.RELEASE)应用程序使用休眠5.3.10.Final。
启动应用程序时出现以下问题:
异常原因:意外内标识:第1行第255列附近的FETCH
2条答案
按热度按时间hk8txs481#
您可以使用对等的陈述式:
但是,如果您希望按原样使用查询,则需要按照建议强制使用方言here。
在您的情况下,这应该是可行的:
jjjwad0x2#
来自另一个帖子:unexpected token: LIMIT
基本上,您的查询应该是原生的:
请注意结尾处的
nativeQuery
。默认情况下,nativeQuery
为false。