我为MySQL编写了以下查询:

SELECT subquery.t1_column1,
    subquery.t2_id,
    MAX(subquery.val)
FROM (
    SELECT t1.column1 as t1_column1,
        t1.id_t2 AS t2_id,
        count(1) AS val
    FROM table1 t1
    INNER JOIN table2 t2
    ON t2.id = t1.id_t2
    GROUP BY t1.id_t2
) subquery
GROUP BY t1_column1


我想将其转换为JPA(JPQL或条件查询)。

我不知道该怎么做这个max(count)东西,而且JPA似乎不喜欢SELECT FROM SELECT ...

如果有人对本机查询有其他想法(我现在会做),那就太好了。

最佳答案

我没有检查过JPA规范,但是鉴于Hibernate documentation


请注意,HQL子查询只能在select或
条款。


我非常怀疑您的查询是否可以转换为有效的JPQL查询。

您必须继续使用此本机SQL查询。

关于select - JPA-最多COUNT个或从SELECT中选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10699423/

10-11 03:19
查看更多