我如何在 JPQL 中加入子查询

Pri*_*nce 5 jpa jpql jpa-2.0

我需要一个用于 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'
Run Code Online (Sandbox Code Playgroud)

Jam*_*mes 3

您的查询看起来很病态,也许可以说明您尝试查询的结果,并包括您的对象模型。

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

您始终可以将其作为 JPA 本机 SQL 查询执行,因为您似乎对 SQL 比 JPQL 更熟悉。