2012-05-22 44 views
6

me escribió la siguiente consulta para MySQL:JPA - MAX de contar o SELECT FROM SELECT

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 

y me gustaría traducirlo a JPA (JPQL o criterios de consulta).

No sé cómo hacer esto max (cuenta) cosa, y JPA no parece que les gusta el SELECT SELECT ...

Si alguien tiene una idea distinta de consultas nativas (I' lo haré por ahora), sería genial.

Respuesta

3

No he comprobado especificación JPA tha, pero teniendo en cuenta que el Hibernate documentation dice

Tenga en cuenta que las subconsultas HQL pueden ocurrir sólo en la selección o en cláusulas.

Tengo muchas dudas de que su consulta se pueda transformar en una consulta JPQL válida.

Deberá seguir usando esta consulta SQL nativa.

+0

No es una consulta JPQL válido en todo, es objetivo SQL.My nativa es traducirlo en JPQL evitando consultas nativas si es posible. Si no es así, puedo vivir con eso, solo quería saberlo. – Bob

+0

Ah, está bien. Entonces mi respuesta es: no vas a poder traducirlo a JPQL. –

+0

Sí, gracias de todos modos. – Bob

Cuestiones relacionadas