如何编写HQL查询?

问题描述

一个CART_ITEMS,其中drink_id是饮料的id,而order_id是饮料的顺序id位于count处的是该饮料在订单中的量。您需要显示该表中6种最受欢迎​​的饮料。我写了SQL查询

SELECT drink_id,sum(count) as count
FROM cart_items
GROUP BY drink_id
ORDER BY 2 DESC
LIMIT 6

但是我们现在如何在HQL中重写它?我尝试编写代码,但是Intelij Idea在sumlimit函数中发誓。

@Query("select C.drink,sum(count) as count from CartItem C group by C.drink order by 2 DESC limit 6")
    List<Drink> getMostPopularDrinks();

CartItem:

@Getter
@Setter
@Entity
@NoArgsConstructor
@Table(name = "cart_items")
public class CartItem {

    @Data
    @Embeddable
    @NoArgsConstructor
    @AllArgsConstructor
    public static class CartId implements Serializable {

        private Long order_id;

        private Long drink_id;
    }


    /**
     * key @EmbeddedId
     */
    @EmbeddedId
    private CartId cartId;

    @ManyToOne
    @JoinColumn(name = "order_id",referencedColumnName = "id",nullable = false,insertable = false,updatable = false)
    private Order order;

    @ManyToOne
    @JoinColumn(name = "drink_id",updatable = false)
    private Drink drink;

    /**
     * Count of drink
     */
    private int count;
}

введите сюда описание изображения

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)