【问题标题】:How to convert MySql subquery to HQL subquery如何将 MySql 子查询转换为 HQL 子查询
【发布时间】:2017-12-16 04:28:12
【问题描述】:

大家好,我在 mysql 中有这个子查询,就像一个魅力!

select count(a.veces)
from 
(
        select count(id_product) as veces
        from production_line 
        group by id_product
        having count(id_product) > 2 and count(id_product) < 6
)  as a

我试图将它传递到 Hibernate 中的 HQL 语法中,但出现语法错误。这是我的 HQL 子查询

Query query = getCurrentSession().
createQuery("select count(a.veces) from 
(select count(pl.idProduct) as veces from ProductionLine pl group by
pl.idProduct having count(pl.idProduct) > :mayor and count(pl.idProduct) < :menor) as a");

但是我得到了这个异常

引起:org.hibernate.hql.internal.ast.QuerySyntaxException

有人可以帮助我吗?谢谢!

【问题讨论】:

    标签: mysql hibernate subquery hql


    【解决方案1】:

    为什么需要创建别名a?尝试仅通过:

    select count(pl.idProduct) as veces from ProductionLine pl group by pl.idProduct 有 count(pl.idProduct) > :mayor 和 count(pl.idProduct)

    创建查询方法

    【讨论】:

    • 该查询不是我想要的,我必须使用子查询来获取我想查看的信息,还有其他建议吗?无论如何谢谢你
    • 我真的不同意这一点,但是您可以尝试使用本机查询并将 select count(a.veces) from ( select count(id_product) as veces from production_line group by id_product 具有 count(id_product) > 2 和 count(id_product)
    猜你喜欢
    • 2018-03-27
    • 2020-03-28
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多