我是spring-boot的新手,并且一直在稳步地构建我的项目,但我已经到了需要执行特定查询而不是spring构建的查询的地步。
下面是我的@Query的样子:
@Query("select top 1 * from 'table name' where 'column' like 'value' and message like 'value' order by 'column' desc")由于它是与工作相关的,我不得不替换我们的数据库特定信息,但我认为你们应该仍然能够理解我正在尝试做什么。我的老板想要这个查询,因为如果没有这样的格式,我们将返回许多结果,而我们只需要最新的结果-因此是top 1和order by。
我看到的错误是"< operator> or如预期,得到了'1'“,到目前为止,我还没有在谷歌上找到任何东西。
我在这里做错了什么?
发布于 2016-09-13 21:18:17
我认为问题是您在@Query中编写了原生查询,但没有设置@Query("...", nativeQuery=true),因为该注释默认接受JPQL语言中的查询。阅读@Query usage there
发布于 2016-09-13 22:02:44
可能您的数据库平台不支持TOP
对于Oracle,您可以使用ROWNUM <=1
@Query("select * from 'table name' where 'column' like 'value' and message like 'value' order by 'column' desc ROWNUM <=1", nativeQuery = true)对于MySQL,您可以使用LIMIT 1
@Query("select * from 'table name' where 'column' like 'value' and message like 'value' order by 'column' desc LIMIT 1", nativeQuery = true) https://stackoverflow.com/questions/39470727
复制相似问题