JPA - MAX of COUNT或SELECT FROM SELECT [英] JPA - MAX of COUNT or SELECT FROM SELECT

查看:159
本文介绍了JPA - MAX of COUNT或SELECT FROM SELECT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为MySQL写了以下查询:

I wrote the following query for 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或条件查询)。

And I'd like to translate it into JPA (JPQL or criteria query).

我不知道如何做这个max(count)事情,JPA似乎不喜欢SELECT FROM SELECT ...

I don't know how to make this max(count) thing, and JPA doesn't seem to like the SELECT FROM SELECT...

推荐答案

我有一个想法而不是本地查询没有检查tha JPA规范,但考虑到 Hibernate文档

I haven't checked tha JPA specification, but given that the Hibernate documentation says


请注意,HQL子查询只能出现在select或
子句中。 / p>

Note that HQL subqueries can occur only in the select or where clauses.

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

I very much doubt that your query can be transformed in a valid JPQL query.

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

You'll have to keep using this native SQL query.

这篇关于JPA - MAX of COUNT或SELECT FROM SELECT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆