【问题标题】:JPQL unexpected AST node: around "coalesce"JPQL 意外 AST 节点:围绕“coalesce”
【发布时间】:2020-05-02 16:19:13
【问题描述】:

JPQL 出错:抛出 org.springframework.dao.InvalidDataAccessApiUsageException (org.hibernate.hql.internal.ast.QuerySyntaxException:意外的 AST 节点:(靠近第 3 行,第 48 列)从 InvoiceBE 中选择 invoiceBE invoiceBE 其中 invoiceBE.institutionId = ?1 和 合并(invoiceBE.paidActivity.date

“coalesce”有什么错误吗?

我在mysql数据库中运行sql很好。

select
        *    from
        ACQ_INVOICE invoice 
    where
        invoice.institution_id=91475
        and coalesce(invoice.`user_paid_date` < '2020-01-20', invoice.`paid_date` < '2020-01-20T16:45:40.786Z')

谢谢。

【问题讨论】:

    标签: java spring-data-jpa jpa-2.0


    【解决方案1】:

    合并表达式看起来完全错误。

    我不认为引用属性的回勾是允许的。这看起来更像 MySQL SQL 语法。

    我也不完全确定 COALESCE 是否可以与布尔表达式一起使用。

    【讨论】:

      【解决方案2】:

      改为

      合并(invoice.user_paid_date, invoice.paid_date)

      它奏效了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-29
        • 1970-01-01
        • 2014-08-24
        • 2013-09-28
        • 2018-06-26
        • 1970-01-01
        • 2020-02-13
        • 2022-09-29
        相关资源
        最近更新 更多