Java 将SQL请求转换为JPQL请求

Java 将SQL请求转换为JPQL请求,java,jpql,Java,Jpql,我正在学习JPQL,我想知道如何将这个查询转换成JPQL 我有实体Astre用于astres表,有Planete用于planetes表generate_series()是PostgreSQL函数 SELECT t1.galaxie, t1.ss, t1.position FROM ( SELECT galaxie, ss, position FROM generate_series(1, 9) galaxie CROSS JOIN generate_series(1, 5

我正在学习JPQL,我想知道如何将这个查询转换成JPQL

我有实体
Astre
用于astres表,有
Planete
用于planetes表
generate_series()
是PostgreSQL函数

SELECT t1.galaxie, t1.ss, t1.position FROM 
(
   SELECT galaxie, ss, position FROM 
   generate_series(1, 9) galaxie 
   CROSS JOIN generate_series(1, 500) ss 
   CROSS JOIN generate_series(1, 15) position 
) t1
 LEFT JOIN 
(
   SELECT a.galaxie, a.ss FROM astres a 
   INNER JOIN planetes p 
   ON a.id=p.astre_id 
   WHERE p.planete_mere=TRUE 
   GROUP BY a.galaxie, a.ss 
   HAVING COUNT(*)=3 
) t2 
ON t1.galaxie = t2.galaxie 
AND t1.ss = t2.ss 
LEFT JOIN 
( 
   SELECT a.galaxie, a.ss, a.position FROM astres a 
   INNER JOIN planetes p 
   ON a.id=p.astre_id 
) t3 
ON t1.galaxie=t3.galaxie 
AND t1.ss=t3.ss 
AND t1.position=t3.position 
WHERE t2.galaxie IS NULL 
AND t3.galaxie IS NULL 
ORDER BY t1.galaxie, t1.ss, t1.position
如果需要,我可以提供实体代码


谢谢你的帮助。

不行。使用本机查询。好的,谢谢,但为什么?是因为我使用了
generate_series()
函数吗?是的,还因为
on
子句中的
,因为from子句中的子查询,以及交叉连接ok…我们不能将子查询与JPQL一起使用?可以,但不能在from子句中使用。在where子句中,它是可以的。另外,在select子句中也可以。