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

Java 如何将SQL Select子查询传输到JPQL?,java,sql,oracle,jpa,jpql,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创建的表。*从table table,从ta

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

下面是我试图翻译的SQL查询的一个示例:

SELECT table.* FROM TABLE table, (SELECT * FROM TABLE table1 WHERE ... ) table1 WHERE table.id >= table1.id
我遇到困难的部分是我正在使用子查询SELECT table创建的表。*从table table,从table table1中选择*,其中。。。表1。子查询中的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

任何帮助或建议都将不胜感激:好吧。。。。我想我找到了答案。不可能实现本文中解释的命名查询:


我将继续使用本机查询。

好吧。。。。我想我找到了答案。不可能实现本文中解释的命名查询:


我将继续使用本机查询。

为什么不从表t中选择t,表t1中。。。t.id>=t1.id?@talex这样做会给我一个错误表达式不是有效的条件表达式。有详细信息吗?哪个表达式完全无效?@talex Nope。它只是在编译时吐出错误,而在编译时没有任何进一步的细节?它不应该在编译时检查它。它只是一个字符串。为什么不从表t中选择t,表t1,其中。。。t.id>=t1.id?@talex这样做会给我一个错误表达式不是有效的条件表达式。有详细信息吗?哪个表达式完全无效?@talex Nope。它只是在编译时吐出错误,而在编译时没有任何进一步的细节?它不应该在编译时检查它。它只是一根线。