如何将sql转换为jpql

如何将sql转换为jpql,sql,oracle,jpa,jpql,Sql,Oracle,Jpa,Jpql,我想将以下oracle sql查询转换为jpql。我已经为DC_主题创建了实体,主题序列号是DC_主题中的一列。我知道当表的实体模型存在时如何将sql转换为jpql。但在本例中,我使用了dual、rownum等。我不知道如何将其转换为jpql SQL查询: select n from ( select rownum n from dual connect by level <= (select max(SUBJECT_SERIAL_NUMBER) + 2 from DC_Subj

我想将以下oracle sql查询转换为jpql。我已经为DC_主题创建了实体,主题序列号是DC_主题中的一列。我知道当表的实体模型存在时如何将sql转换为jpql。但在本例中,我使用了dual、rownum等。我不知道如何将其转换为jpql

SQL查询:

select n from
    ( select rownum n from dual connect by level <= (select max(SUBJECT_SERIAL_NUMBER) + 2  from DC_Subjects))
    where n >= 3000 minus (select subject_Serial_Number from DC_Subjects where version_End = '31-DEC-3099 12.00.00.000000000 AM');

这个查询有很多Oracle的细节。您可以尝试使用JPA本机查询功能,并保持查询的原样。任何JPQL引用都会告诉您,当没有等效实体等时,您不能这样做,并且所使用的函数不是JPQL的一部分。@garfield和Billy感谢您的回答。将尝试使用本机查询。