使用 Spring Data JPA 从 MS SQL 中选择前 1 条记录

新手上路,请多包涵

我正在使用下面的 @Query 注释从 MS-SQL 获取前几条记录。它显示错误说“< operator > or AS expected…”

    @Query("SELECT Top 1 * FROM NEVS010_VEH_ACTV_COMMAND C WHERE C.EVS014_VIN = :vin ORDER BY C.EVS010_CREATE_S DESC")
    CommandStatus findCommandStatusByVinOrderByCreatedTimestampDesc(@Param("vin") String vin);

原文由 Vijai 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

由于查询是 SQL(而不是 JPQL),因此需要在注释中设置 nativeQuery = true

 @Query(nativeQuery = true, value = "SELECT Top 1 * FROM NEVS010_VEH_ACTV_COMMAND C WHERE C.EVS014_VIN = :vin ORDER BY C.EVS010_CREATE_S DESC")
    CommandStatus findCommandStatusByVinOrderByCreatedTimestampDesc(@Param("vin") String vin);

原文由 Vijai 发布,翻译遵循 CC BY-SA 4.0 许可协议

您还可以使用文档中提到的 findFirst 和 findTop

 findFirstByVinOrderByCreatedTimestampDesc(String vin)

原文由 chubock 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题