1

我有一个 JPQL 查询,它给了我如下错误,当我使用 NativeSQLQuery 时,相同的查询运行良好,相同的 JPQL 代码在 JBoss 6 上运行,完全使用 JAVAEE7,但在 PAYARA 5.192 和 javaee8 上运行不正常。

异常描述:语法错误解析 [SELECT weblook FROM WebLookup weblook WHERE weblook.lookupType=:looktype AND NVL(weblook.inactiveDate, SYSDATE + 1) > SYSDATE ORDER BY lookupDescription ]。正确的表达式不是有效的表达式。

NativeSQL : SELECT * FROM MW_WEB_LOOKUP mwWebLookUp WHERE mwWebLookUp.LOOKUP_TYPE=:LOOKUPTYPE AND NVL(mwWebLookUp.INACTIVE_DATE , SYSDATE + 1) > SYSDATE ORDER BY mwWebLookUp.LOOKUP_DESCRIPTION

4

1 回答 1

0

SYSDATE是特定于提供者的,例如不是 JPA 标准的一部分。标准是CURRENT_DATE,CURRENT_TIMECURRENT_TIMESTAMP.

以下是您可以尝试的一些示例:

如何在 JPA 中查询“超过三分钟”?

于 2019-09-24T21:38:32.227 回答