如何将SQL Select子查询传输到JPQL?

时间:2019-04-30 11:13:21

标签: java sql oracle jpa jpql

我制定了一个SQL查询,需要将其转换为JPQL。该查询在SELECT子句中包含一个子查询,并且还从该子查询中包含的同一表中选择所有行。

以下是我尝试翻译的SQL查询示例:

SELECT table.* FROM TABLE table, (SELECT * FROM TABLE table1 WHERE ... ) table1 WHERE table.id >= table1.id

我遇到困难的部分是使用子查询SELECT table.* FROM TABLE table, (SELECT * FROM TABLE table1 WHERE ... ) table1创建的表。子查询中的WHERE子句明确了如何翻译。

我目前尝试翻译查询的方式是:

SELECT t FROM Table t, t1 FROM Table t1 WHERE ... WHERE t.id >= t1.id 

尝试此操作时遇到的错误是:

org.eclipse.persistence.jpa.jpql.parser.NullExpression cannot be cast to org.eclipse.persistence.jpa.jpql.parser.IdentificationVariable

任何帮助或建议将不胜感激:D

1 个答案:

答案 0 :(得分:0)

好吧...。我想我找到了答案。如本文中所述,无法实现此类命名查询:JPA/hibernate subquery in from clause

我将坚持使用本机查询。