JPQL JOINS与嵌套的SELECT

sur*_*a2k 5 openjpa jpql

我可以在JPQL上做这样的事吗?

SELECT NEW com.MyDTO(p.a, p.b, q.c, q.d)
FROM
(SELECT r.* FROM MyDTO1 r ) p
LEFT OUTER JOIN
(SELECT s.* FROM MyDTO2 s ) q
ON p.x = q.y 
Run Code Online (Sandbox Code Playgroud)

或者类似的?(上面的查询混合了native和JPQL,所以不要误解)

我觉得这个部分有问题.

FROM
(SELECT r.* FROM MyDTO1 r ) p
Run Code Online (Sandbox Code Playgroud)

当我试图执行时,我收到了这个错误.

Exception Description: Syntax error parsing the query [.....], unexpected token [(]
Run Code Online (Sandbox Code Playgroud)

谢谢!

JB *_*zet 5

不,你不能。从文档中引用:

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