我为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/