【问题标题】:JPQL CreateQuery with SYSDate comparisonJPQL CreateQuery 与 SYSDate 比较
【发布时间】:2019-09-24 09:04:07
【问题描述】:

我有一个 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 ]。正确的表达式不是有效的表达式。

原生SQL: 选择 * 从 MW_WEB_LOOKUP mwWebLookUp WHERE mwWebLookUp.LOOKUP_TYPE=:LOOKUPTYPE AND NVL(mwWebLookUp.INACTIVE_DATE , SYSDATE + 1) > SYSDATE ORDER BY mwWebLookUp.LOOKUP_DESCRIPTION

【问题讨论】:

    标签: jpa-2.1 payara java-ee-8


    【解决方案1】:

    SYSDATE 是特定于提供商的,例如不是 JPA 标准的一部分。标准为CURRENT_DATECURRENT_TIMECURRENT_TIMESTAMP

    您可以尝试以下示例:

    How do I query "older than three minutes" in JPA?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多