首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Spring-Boot JPA和Java中使用@Query时遇到问题

问在Spring-Boot JPA和Java中使用@Query时遇到问题
EN

Stack Overflow用户
提问于 2016-09-13 20:58:58
回答 2查看 8.8K关注 0票数 4

我是spring-boot的新手,并且一直在稳步地构建我的项目,但我已经到了需要执行特定查询而不是spring构建的查询的地步。

下面是我的@Query的样子:

代码语言:javascript
复制
@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'“,到目前为止,我还没有在谷歌上找到任何东西。

我在这里做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2016-09-13 21:18:17

我认为问题是您在@Query中编写了原生查询,但没有设置@Query("...", nativeQuery=true),因为该注释默认接受JPQL语言中的查询。阅读@Query usage there

票数 15
EN

Stack Overflow用户

发布于 2016-09-13 22:02:44

可能您的数据库平台不支持TOP

对于Oracle,您可以使用ROWNUM <=1

代码语言:javascript
复制
@Query("select * from 'table name' where 'column' like 'value' and message like 'value' order by 'column' desc ROWNUM <=1", nativeQuery = true)

对于MySQL,您可以使用LIMIT 1

代码语言:javascript
复制
@Query("select * from 'table name' where 'column' like 'value' and    message like 'value' order by 'column' desc LIMIT 1", nativeQuery = true) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39470727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档