【问题标题】:HQL SUM Query - unexpected tokenHQL SUM 查询 - 意外令牌
【发布时间】:2018-06-13 16:23:33
【问题描述】:

我可以按如下方式执行 HQL:

select order.anticipatedMonetaryTotal.payableAmount.value from OrderType order

使用如下代码:

EntityManager e = this.entityManagerFactory.createEntityManager();
e.getTransaction().begin();
result = e.createQuery(query).getResultList();

所以,我知道order.anticipatedMonetaryTotal.payableAmount.value 是获取值(BigDecimal 值列表)的正确位置。

但是,我得到了一个:

line 1:14: unexpected token: order
antlr.NoViableAltException: unexpected token: order

对于以下查询:

select SUM ( order.anticipatedMonetaryTotal.payableAmount.value) from OrderType order

那么,我想念 SUM 表示法的什么?据我在https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-aggregation 看到的,这很简单,我看不出有任何错误。

【问题讨论】:

    标签: java hibernate hql


    【解决方案1】:

    这不是因为 SUM 函数,这是因为 order 字。这是不能用于变量的保留字。将其更改为其他内容,例如订单类型

    select SUM ( orderType.anticipatedMonetaryTotal.payableAmount.value) from OrderType orderType
    

    这应该可以解决您的问题,因为其他一切都很好。

    祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 2016-05-02
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多