当前位置: 首页 > 知识库问答 >
问题:

在EntityManager中创建查询时发生异常

邢和光
2023-03-14

这是我的问题。

List exp = entityManager.getEntityManager()
        .createQuery("select sum(u.expenseAmount), u.wdExpenseGroup.expenseGroupName from WdExpense u WHERE MONTH(CAST(u.expenseDate as date)) = MONTH(NOW()) AND YEAR(CAST(u.expenseDate as date)) = YEAR(NOW()) group by u.wdExpenseGroup.expenseGroupId")
        .getResultList();

我在犯错误。

Java语言lang.IllegalArgumentException:在EntityManager中创建查询时发生异常:异常描述:语法错误分析查询[select sum(u.expenseAmount),u.wdExpenseGroup.expenseGroupName from WdExpense u其中MONTH(CAST(u.expenseDate as date))=MONTH(NOW())AND YEAR(CAST(u.expenseDate as date))=YEAR(NOW())group by u.wdExpenseGroup.expenseGroupId],第1行,第91列:意外标记[(]。内部异常:NoViableAltException(83!=[661:1:SimpleConditionPressionRequirements[Object left]返回[Object node]:(n=comparisonExpression[left]|(n1=NOT)?n=conditionWithNotExpression[(n1!=null),left]|是(n2=否)?n=isExpression[(n2!=null),左];])

我如何解决这个问题?

共有1个答案

柳英资
2023-03-14

月份、年份等不是有效的JPQL。看见http://www.datanucleus.org/products/accessplatform_4_0/jpa/jpql.html#JPQL_BNF_Notation

 类似资料:
  • 问题内容: 我需要在通过JPA EntityManager访问的数据库中创建一个新表。JPA NativeQueries是否支持“选择”或“更新”以外的查询?还是在JPA上下文中还有另一种先进的方法来执行复杂的SQL查询? 问题答案: jpa“本机查询”仅可用于DML语句(数据处理语言)。要发布任何DDL(例如创建表),您需要从EntityManager获取基础连接。 如何从EM中提取连接将取决于

  • 问题内容: 当我们必须使用 在Hibernate中,它们之间有什么区别? 问题答案: createQuery: http://docs.jboss.org/hibernate/core/3.6/reference/zh- CN/html/objectstate.html#objectstate- querying http://docs.jboss.org/hibernate/core/3.6/r

  • 在我们本地服务器的HDFS之上成功地安装和配置了HBase之后,我在我们的OVH VPS机器上做了同样的配置,但是我得到了一个奇怪的错误。 导出路径=$PATH:$HADOOP_HOME/bin导出HADOOP_HOME=/usr/local/HADOOP导出路径=$PATH:$HADOOP_HOME/sbin导出ath=/usr/local/hbase/lib/

  • 在尝试: 我得到以下错误: 这个问题在ubuntu上的火狐更新到32.0版本后就开始了,我试图安装28.0版本,但仍然没有成功。 有什么想法吗?提前谢谢 将驱动程序版本更改为2.39后,如curiosu所说,一个新的错误显示: 解决方案:我终于设法解决了这个问题,我把selenium webDriver版本从2.42.2改成了2.39.0,并把火狐版本从32.0降级为28.0

  • 可使用媒体查询,根据所报告的设备特征指定 CSS 文件(响应性设计)。设备上的浏览器检查媒体查询,然后使用对应的 CSS 文件显示网页。 例如,以下媒体查询指定 phone.css 文件用于宽度为 300-320 像素的设备。 <link href="css/orig/phone.css" rel="stylesheet" type="text/css" media="all and (min-w

  • 这个问题可能有答案……但对于使用postgresql数据库的openbravo来说并没有答案。 我有openbravo 3.0框架。在我的窗口中,我有两个日期字段,即fromdate和todate。要求是我必须编写一个hql where子句来根据当前日期过滤记录。日期字段是没有时区的时间戳。 意思是fromdate 和迄今为止 我浏览了这个链接,将hql where子句编写为 当我打开此窗口时,我