我正在尝试使用聚合函数编写一个简单的 HQL 查询并收到错误。请帮忙。
我有 3 个实体 Order、OrderItem 和 Product,它们之间的关系如下:
Order --> OrderItem (One to many bi-directional)
OrderItem --> Product (Many to one Uni-directional)
Run Code Online (Sandbox Code Playgroud)
在较高级别上,客户可以下一个包含多个订单行项目的订单,每个行项目引用一个产品及其数量。产品就像代表产品目录的主表。
我正在尝试查找所有订单项目中每种产品的订购总量。我正在使用以下查询:
select oi.product.name, sum(oi.quantity) as s1 from OrderItem oi
group by oi.product.name order by s1 desc
Run Code Online (Sandbox Code Playgroud)
我将 sum() 函数与 s1 建立别名,以便我可以按相同的方式进行排序。但这个别名 s1 似乎产生了一个问题。这是 hibernate 调试日志中的错误:
15:39:56,350 DEBUG SQL:111 - select product1_.PRODUCT_NAME as col_0_0_, sum(orderitem0_.ORDER_ITEM_QUANTITY) as col_1_0_ from ORDER_ITEM orderitem0_, PRODUCT product1_ where orderitem0_.PRODUCT_ID=product1_.PRODUCT_ID group by product1_.PRODUCT_NAME order by s1 desc
Hibernate: select product1_.PRODUCT_NAME as col_0_0_, sum(orderitem0_.ORDER_ITEM_QUANTITY) …Run Code Online (Sandbox Code Playgroud) hibernate ×1