JPA - COUNT 的最大值或从 SELECT 中选择

2024-04-08

我为 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 规范,但考虑到休眠文档 http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#queryhql-subqueries says

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JPA - COUNT 的最大值或从 SELECT 中选择 的相关文章

随机推荐