java - NoViableAltException : Unexpected token in @NamedQuery

标签 java jpa eclipselink

我有以下查询,当我直接在数据库中使用它时,该查询有效:

@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/

相关文章:

java - 为什么 Java 必须抛出并发修改异常?

java - Java 中的 List 存在问题

java - 在Java中,有没有办法在这里保存 boolean 变量以便它持久存在?

java - Spring 数据 JPA : Fetching data from entity just after save() method

sql-server - 如何避免在 Eclipselink JPA 中读取插入的 ID

java - Hibernate 映射 1 到多

java - Spring boot + (JPA)-类别层次结构-递归遍历

java - Hibernate/JPA @PoSTLoad 注释是否标记对象 "dirty"?

java - 安装 Subclipse Eclipse 插件时出现问题,缺少 JavaHL 库

java - 有没有办法让 eclipselink/JPA 使用 redis 来保存和检索持久性单元级 (L2) 缓存?