【问题标题】:Hibernate expecting "all", found 'JOIN'休眠期待“全部”,发现“加入”
【发布时间】:2014-07-25 14:31:24
【问题描述】:

我明白了

QuerySyntaxException: expecting "all", found 'JOIN' near line 1, column 50 [SELECT p FROM com.rr.model.Person p FETCH JOIN p.positions pos WHERE p.id=:id]

休眠例外。将 'JOIN' 更改为 'ALL' 无济于事并产生以下错误:

QuerySyntaxException: expecting "properties", found 'p' near line 1, column 54 [SELECT p FROM com.rr.model.Person p FETCH ALL p.positions pos WHERE p.id=:id]

发生了什么以及正确的查询应该是什么样子?

【问题讨论】:

    标签: java hibernate jpa


    【解决方案1】:

    问题是我将语法切换为“FETCH JOIN”,形成正确的语法:“JOIN FETCH”。正确的查询应该是这样的

     SELECT p FROM Person p JOIN FETCH p.positions pos WHERE p.id=:id
    

    'ALL' 的正确语法如下所示:

    SELECT p FROM Person p FETCH ALL PROPERTIES WHERE p.id=:id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-15
      • 2018-11-12
      • 2013-04-27
      • 2013-05-22
      • 2018-07-16
      • 1970-01-01
      • 2013-12-02
      相关资源
      最近更新 更多