2013-08-31 7 views
6

Dies ist meine HQL-Abfrage, aber es funktioniert nicht und wirft einen Fehler.Wie führe ich Links in der Hibernate Query Language aus?

HQL-Abfrage:

SELECT 
    * 
FROM 
    TABLEA A 
LEFT JOIN 
    A.TABLEB B 
WHERE 
    A.COLUMNNAME = B.COLUMNAME 

und verursacht diesen Fehler:

org.hibernate.QueryException: 
This Query caught Exception. could not resolve property: of TABLEB:TABLEA. 

Wie kann ich dieses Problem lösen? Tatsächlich habe ich einen Wert von mehr als einer Tabelle abgerufen. Diese Abfrage funktioniert nicht mit CreateQuery(strQuery).

+0

Bitte poste etwas Code. –

+0

Renovieren und vereinfachen Sie die myquery.Pls sagen Sie jede mögliche Antwort –

+0

warum Sie mit A.TABLEB verbinden, sollte es nur TABLEB sein. –

Antwort

10

In HQL können Sie LEFT JOIN verwenden nur mit verknüpften Eigenschaft in Haupteinheit:

Probe

Entität hat ein Objekt entityB vom Typ Entität so können Sie

SELECT A FROM EntityA A LEFT JOIN A.entityB B WHERE ... 

IF Entität A haven‘ t entityB Eigenschaft, aber EntityB hat eine Eigenschaft entityA, Sie können dies nicht schreiben:

SELECT A FROM EntityA LEFT JOIN EntityB B WHERE B.entityA = A 

weil Sie einen Fehler haben. Dies ist ein Hibernate-Problem, das noch nicht behoben wurde.