【发布时间】:2013-10-09 14:13:22
【问题描述】:
我正在尝试从 t.purchasedDate 的月份等于当前月份的 TransactionE t 实体中检索所有实体。
但是,我在运行代码时遇到了语法错误。
String query = "SELECT t FROM TransactionE t WHERE Month(t.purchaseDate) = Month(" + getCurrentDate()+")";
Query q = em.createQuery(query);
有什么帮助吗?
getCurrentDate() 是一个以“yyyy-MM-dd”格式返回当前日期的函数。
以下是我希望实现的查询。 SELECT t FROM TransactionE t WHERE Month(t.purchaseDate) = Month("2013-10-06")
错误: 原因:异常 [EclipseLink-8025] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.JPQLException 异常说明:解析查询语法错误 [SELECT t FROM TransactionE t WHERE Month(t.purchaseDate) = Month(getCurrentDate()), line 1, column 40: unexpected token [(].
【问题讨论】:
-
尝试单引号日期
-
您好,您的意思是这样的? SELECT t FROM TransactionE t WHERE Month(t.purchaseDate) = Month('2013-10-09') 我刚试过。单引号不起作用
-
您使用的是哪个应用服务器?您使用的是哪个 JPA 库?