2016-12-29 94 views
0

我無法找到關於如何處理這種情況的任何文檔。我不斷收到以下錯誤:HQL:加入的路徑!無法解析屬性

org.hibernate.QueryException: could not resolve property: id_alumno_origen 
of: dm.model.tramite.TrasladoInterno 
.... 
antlr.SemanticException: Path expected for join! 

我使用下面的查詢,但我發現了一些解決方案指缺少引用到的JOIN + ON的情況下的字段,我沒有運氣:

from pe.edu.innovaschools.dm.model.tramite.TrasladoInterno a 
    JOIN gen_sede b ON b.id = a.id_sede_destino 
    JOIN aca_grado c ON a.id_grado_destino = c.id 
    WHERE a.tipo = 'INTERPERIODO' 
     AND a.estado IN ('ACEP' , 'PEND') 
     AND a.id_periodo_origen = :PERIODOORIG 
     AND a.id_periodo_destino = :PERIODODEST 
GROUP BY a.id_sede_destino , b.nombre , a.id_grado_destino , c.nombre_ps , a.estado 

回答

0

On HQL我更喜歡使用隱式JOIN表示法(更多時候顯式的JOIN會導致錯誤)。 如果使用GROUP BY,必須應用投影到你的SELECT,那麼試試這個:

select a.id_sede_destino, b.nombre, 
    a.id_grado_destino , c.nombre_ps , a.estado 
from pe.edu.innovaschools.dm.model.tramite.TrasladoInterno a, 
gen_sede b, 
aca_grado c 
WHERE b.id = a.id_sede_destino 
    AND a.tipo = 'INTERPERIODO' 
    AND a.id_grado_destino = c.id 
    AND a.estado IN ('ACEP' , 'PEND') 
    AND a.id_periodo_origen = :PERIODOORIG 
    AND a.id_periodo_destino = :PERIODODEST 
GROUP BY a.id_sede_destino, b.nombre, 
    a.id_grado_destino , c.nombre_ps , a.estado 
+0

事實上,我嘗試代碼undestanding是HQL應該能夠知道,a.id_grado_destino = c.id是連接條件之間的表格。但仍然是同樣的問題。到目前爲止,我只是使用SQL語句來檢索數據。 – jfzr