簡體   English   中英

@NamedQuery INNER JOIN不起作用

[英]@NamedQuery INNER JOIN does not work

我有以下查詢,我需要在聯合表中查找元素的數量。

@NamedQueries({ @NamedQuery(name = "A.count", query = "SELECT COUNT (p.pid) FROM Pet p INNER JOIN Interaction ir ON ir.modelId = p.modelId WHERE p.modelId = :modelId")})

但是對於上述設置,我在日食中遇到以下3個錯誤。 即使將其部署在服務器中也會引發異常

  • 標識變量“交互”未在FROM子句中定義
  • 標識變量的名稱不得與同一持久性單元中的任何實體相同
  • 連接關聯路徑不是有效的表達式

部署例外:

15:43:37,915 ERROR [org.hibernate.hql.internal.ast.ErrorCounter] (ServerService Thread Pool -- 153)  Path expected for join!:  Path expected for join!
    at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromJoinElement(HqlSqlWalker.java:378) [hibernate-core-4.3.1.Final.jar:4.3.1.Final]

查詢中的語法不正確。 嘗試這個:

SELECT COUNT (p.pid) FROM Pet INNER JOIN model.pets as p 
INNER JOIN Interaction.model as model WHERE model.id = :modelId

還要看看這個:

https://docs.jboss.org/hibernate/core/3.5/reference/en/html/queryhql.html#queryhql-joins

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM