【问题标题】:The abstract schema type 'COALESCE' is unknown抽象模式类型“COALESCE”未知
【发布时间】:2017-08-09 08:12:39
【问题描述】:

我在 JPA-NamedQuery 中使用 COALESCE。我总是在 Eclipse 上收到此错误消息:

       The abstract schema type 'COALESCE' is unknown.

你知道如何删除它吗?

请注意,查询工作正常。

编辑

查询是

@NamedQuery(name = "FootBaller.mostActive", 
    query = "SELECT f FROM FootBaller f ORDER BY COALESCE((SELECT count(*) FROM RelatedMatch rm WHERE rm.footBaller=f), 0) DESC")

【问题讨论】:

  • 如何与人们分享你如何在“JPA-NamedQuery”中使用它?也许你用错了?
  • 它工作正常,但我认为这个问题与 eclipse 验证有关。这里是查询:@NamedQuery(name = "FootBaller.mostActive", query = "SELECT f FROM FootBaller f ORDER BY COALESCE((SELECT count(*) FROM RelatedMatch rm WHERE rm.footBaller=f), 0) DESC")
  • 我认为这是无效的 JPQL。我见过的任何 JPQL BNF 中都没有在 ORDER BY 子句中使用 COALESCE。您只能按“state_field_path_expression | result_variable”排序,而这些都不是。显然,您的 JPA 提供者提供的消息是胡言乱语,但并没有隐藏它无效的事实。
  • 除此之外没有任何评论,因为您没有提供实体类。请...把它们放在问题中而不是在评论中

标签: java jpa eclipselink named-query


【解决方案1】:

如果你看看这个; https://dzone.com/articles/the-nasty-jpa-unknown-abstract

也可以参考这里,更多的是区分大小写,即用户错误:Error on compiling query: The abstract schema type 'entity' is unknown

您可能在需要大写的地方使用了小写,或者您的注释错误等。但请先参考上面的第一个链接。

【讨论】:

    猜你喜欢
    • 2012-05-13
    • 1970-01-01
    • 2019-01-22
    • 2013-12-10
    • 2020-07-02
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 2015-10-02
    相关资源
    最近更新 更多