我怎样才能在JPQL中加入子查询

时间:2012-03-28 11:38:27

标签: jpa jpa-2.0 jpql

我需要一个用于MySQL查询的JPQL:

SELECT * 
FROM table1 t1 
INNER JOIN table2 t2 
  ON t1.id = t2.table1.id 
INNER JOIN (SELECT * FROM table1 t3 
            INNER JOIN table2 t4 ON t3.id = t4.table1.id 
            WHERE t3.name = 'xxx') subTable 
  ON t1.number = subTable.number 
WHERE t1.number = '5' 
  AND id = '3'

1 个答案:

答案 0 :(得分:2)

您的查询似乎非常具有病态,或许可以说明您要查询的结果,并包含您的对象模型。

通常,JPQL不支持from子句中的子选择,因此您的查询不能直接转换为JPQL。

您始终可以将其作为JPA本机SQL查询执行,因为您似乎对SQL比对JPQL感到满意。