我有以下查询,当我直接在数据库中使用它时,该查询有效:
@NamedQuery(name = "Sentitems.findWhereSendingDateTimeIsYesterdayByStatus",
query = "SELECT s FROM Sentitems s WHERE s.status = :status AND DATE_FORMAT(s.sendingDateTime, '%Y-%m-%d') = SUBDATE(CURDATE(),1)")
运行应用程序时,抛出NoViableAltException
:
Exception Description: Syntax error parsing the query [Sentitems.findWhereSendingDateTimeIsYesterdayByStatus: SELECT s FROM Sentitems s WHERE s.status = :status AND DATE_FORMAT(s.sendingDateTime, '%Y-%m-%d') = SUBDATE(CURDATE(),1)], line 1, column 66: unexpected token [(].
Internal Exception: NoViableAltException(83@[()* loopback of 383:9: (d= DOT right= attribute )*])
最佳答案
尝试使用@NamedNativeQuery
。您似乎正在使用一些数据库特定的语法。
关于java - NoViableAltException : Unexpected token in @NamedQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35456100/