小编bja*_*gan的帖子

Java 和 Hibernate - HQL 聚合别名

我正在尝试使用聚合函数编写一个简单的 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

4
推荐指数
1
解决办法
2835
查看次数

标签 统计

hibernate ×1