java - 如何从 Spring @Query 注解调用 SQL 函数

标签 java mysql spring-data

这里的语法有什么问题:

@Modifying
@Query(nativeQuery = true, value = "delete from simple_token where simple_token.expiry < NOW()")
int deleteExpiredTokens();

我得到异常

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's where s.expiry < now()' at line 1

但“按原样”执行的查询将在 MYSQL 客户端中正常执行。

我做错了什么?

最佳答案

您声明的查询和语法错误不同。 where s.expiry < now()在异常(exception)情况下,但simple_token.expiry < NOW()@Query .看起来您运行了错误的查询。可能是别名不正确

关于java - 如何从 Spring @Query 注解调用 SQL 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27795930/

相关文章:

Java ME - 寻求教程

java - JDialog 位于屏幕中心,而不是 JApplet 所需的中心

php - 如何使用 PHP 下载 2 个表格到 Excel 工作表

mysql - MySql 中的排名逻辑问题

spring - 将 hibernate-seach-orm 添加到 POM 后出现 AbstractMethodError

java - 如何将 @Projection 分配给 @GetMapping spring servlet 端点?

java - Android studio 模拟器连接状态

java - 在 Tomcat 8.5 上找不到 liquibase.logging.Logger 的实现

MySQL:限制列中的重复次数

java - Spring-Data-Mongodb 写入数据库时​​出现 NoSuchMethodError