2012-05-22 12 views
6

ho scritto la seguente query per MySQL:JPA - MAX di COUNT o SELECT FROM SELEZIONA

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 

E mi piacerebbe tradurlo in JPA (JPQL o criteri di query).

non so come fare questo massimo (conteggio) cosa, e JPA non sembra come il SELECT FROM SELECT ...

Se qualcuno ha un'idea diversa query native (I' Lo farò per ora), sarebbe fantastico.

risposta

3

non ho controllato le specifiche tha JPA, ma dato che la dice Hibernate documentation

noti che subquery HQL può avvenire solo nel selezionare o dove clausole.

Dubito molto che la query possa essere trasformata in una query JPQL valida.

Dovrai continuare a utilizzare questa query SQL nativa.

+0

Non è una query JPQL valida a tutti, è obiettivo SQL.My nativo è di tradurlo in JPQL evitando query native se è possibile. Se non lo sono, posso vivere con quello, volevo solo sapere. – Bob

+0

Ah, OK. Quindi la mia risposta è: non riuscirai a tradurlo in JPQL. –

+0

Sì, grazie comunque. – Bob

Problemi correlati