当前位置: 首页 > 知识库问答 >
问题:

如何在Spring数据存储库中编写SELECT TOP 25 sql查询

丁绪
2023-03-14
SELECT TOP 25 * FROM ARCUST_BIG  WHERE arcustno<='300000' ORDER BY arcustno DESC
Arcust findByPrimaryKey(String id);

@Query("SELECT COUNT(a) FROM Arcust a")
Long countAll();

@Query("SELECT TOP 25 a FROM Arcust a WHERE a.arcustno<='?1' ORDER BY a.arcustno DESC")
List<Arcust> findByTop(String arcustno);
}

但是,findBytop查询似乎不起作用,当我用tomcat7启动服务时,返回如下内容:

2013-08-15 08:15:20 ERROR ContextLoader:319 - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'arcustService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.waudware.pics.repository.ArcustRepository com.waudware.pics.service.ArcustService.arcustRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'arcustRepository': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.waudware.pics.repository.ArcustRepository.findByTop(java.lang.String)!
Caused by: java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.waudware.pics.repository.ArcustRepository.findByTop(java.lang.String)!
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: 25 near line 1, column 12 [SELECT TOP 25 a FROM com.waudware.pics.domain.Arcust a WHERE a.arcustno<='?1' ORDER BY a.arcustno DESC]

共有1个答案

宦正诚
2023-03-14

#纯SQL

使用“极限”

SELECT * FROM ARCUST_BIG 
WHERE arcustno<='300000' ORDER BY arcustno DESC Limit 0, 25

注意:JPA支持通过使用方法createNativeQuery()或通过使用注释@namedNativeQuery来创建本机查询JPA本机查询select和cast object object

List<Arcust> findTop25ByArcustnoLessThanOrderByArcustnoDesc(String arcustno);
 类似资料:
  • 我想要一个在Spring数据的帮助下创建的存储库(例如)。我不熟悉spring-data(但不熟悉spring),我使用本教程。我选择的处理数据库的技术是JPA2.1和Hibernate。问题是我不知道如何为这样的存储库编写单元测试。 让我们以方法为例。由于我正在进行测试--首先,我应该为它编写一个单元测试--这就是我遇到三个问题的地方: > 首先,如何将的模拟注入到不存在的接口实现中?Sprin

  • 我在spring的申请中遇到了一个小问题。 我使用的存储库如下所示: 我的问题是函数。在productive中,我使用了Oracle,一切都很好。但是对于开发,我想使用一个mysql数据库。 是否有可能编写不依赖数据库的查询?或者可以编写两个查询,但将它们用在驱动程序中。 如果有人能帮我,我会很高兴的。 提前致谢

  • 本文向大家介绍如何在临时MongoDB数据库中存储查询输出?,包括了如何在临时MongoDB数据库中存储查询输出?的使用技巧和注意事项,需要的朋友参考一下 为此,在单个查询中,只需使用forEach()并将输出存储在temp db中。首先让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是将查询输出存储在temp db中的查询- 在find(

  • 它是否将其存储在缓存中?我有一个应用程序,但应用程序中没有任何地方。属性是提到的db详细信息。我可以通过邮递员存储数据和查询它。

  • 又不想工作,我不知道是怎么回事。 日志包含以下消息: 将项目放在github https://github.com/romanych2021/testjpaspring上

  • 问题内容: 使用Java 对象,最简单的方法是将它们存储为MySql 对象(在UTC中)。切换到这种方法将不再起作用,因为MySQL 无法提供存储纳秒的精度。仅将它们截断可能会导致新创建的对象与从数据库读取的对象之间的意外比较结果。 时间戳不适合我作为一个优雅的解决方案:手动编写选择查询变得更加困难,因为必须将时间戳转换到任何地方以使其可读,并且与值甚至值相比,Java的处理有些笨拙。 去这里最好