2013-08-31 12 views
6

To jest moje zapytanie HQL, ale nie działa i wyświetla błąd.Jak wykonać lewe sprzężenie w języku zapytań Hibernuj?

HQL kwerendy:

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

i powoduje ten błąd:

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

Jak mogę rozwiązać ten problem? W rzeczywistości pobrałem wartość z więcej niż jednej tabeli. To zapytanie nie działa z CreateQuery(strQuery).

+0

Proszę napisać kod. –

+0

Uaktualnij i uprość myquery.Pls podaj każdą możliwą odpowiedź –

+0

, dlaczego dołączasz do A.TABLEB, powinien to być tylko TABLEB. –

Odpowiedz

10

W HQL można użyć LEFT JOIN tylko z połączonych nieruchomości w głównej jednostki:

Sample

EntityA ma obiekt entityB typu EntityB więc można

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

IF EntityA Haven” t Właściwość entityB, ale EntityB ma właściwość entityA, nie można tego zapisać:

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

, ponieważ wystąpił błąd. To jest problem Hibernuj jeszcze nie rozwiązany.

Powiązane problemy