2016-12-29 3 views
0

nicht lösen Ich kann keine Dokumentation finden, wie man diese Situation behandelt. Ich halte die Aufnahme die folgenden Fehler:HQL: Pfad für Join erwartet! konnte die Eigenschaft

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

ich die folgende Abfrage verwenden, obwohl ich auf die Felder im Fall von JOIN + ON irgendeine Lösung bezieht das Fehlen von Verweis gefunden, ich hatte kein Glück:

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 

Antwort

0

Unter HQL bevorzuge ich implizite JOIN-Notation (mehr mal explizite JOIN kann falsch ergeben). Wenn Sie GROUP BY verwenden, müssen Sie einen Vorsprung auf Ihre SELECT anwenden, so versuchen Sie dies:

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

der Tat, ich versuchen, den Code undestanding dass HQL dass a.id_grado_destino wissen Lage sein sollte = ist c.id die Verknüpfung Bedingung zwischen Tabellen. Aber immer noch das gleiche Problem. Bisher verwende ich nur einen SQL-Satz, um die Daten abzurufen. – jfzr