如何从 Spring @Query 注解中调用 SQL 函数
How to call SQL Function from Spring @Query Annotation
这里的语法有什么问题:
@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
但是 'as is' 执行的查询将在 MYSQL 客户端中正常执行。
我做错了什么?
您声明的查询和语法错误不同。 where s.expiry < now()
在异常中,但 simple_token.expiry < NOW()
在 @Query
中。看起来你 运行 查询错误。可能别名不正确
抱歉,我是个白痴。 sql 'as is' 在 mysql 客户端中不起作用。我将代码更改为:
@Modifying
@Query(nativeQuery = true, value = "delete from simple_token where expiry < NOW()")
int deleteExpiredTokens();
现在可以正常使用了
这里的语法有什么问题:
@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
但是 'as is' 执行的查询将在 MYSQL 客户端中正常执行。
我做错了什么?
您声明的查询和语法错误不同。 where s.expiry < now()
在异常中,但 simple_token.expiry < NOW()
在 @Query
中。看起来你 运行 查询错误。可能别名不正确
抱歉,我是个白痴。 sql 'as is' 在 mysql 客户端中不起作用。我将代码更改为:
@Modifying
@Query(nativeQuery = true, value = "delete from simple_token where expiry < NOW()")
int deleteExpiredTokens();
现在可以正常使用了