Join Fetch: "Abfrage angegebenen Join-Abruf, aber der Besitzer der abgerufenen Assoziation war

8

Ich habe das folgende Model Activity mit der sprachabhängigen Eigenschaft Title . Die Sprachabhängigkeit wird mit zwei zusätzlichen Entitäten definiert: Translation (Titel ist von diesem Typ, viele-zu-eins) und TranslationValue (eins-zu-viele).

Wenn ich die folgende hql schreibe:

%Vor%

Das funktioniert soweit. Aber sobald ich in die select-Anweisung act einfüge, habe ich ein Problem mit der Verknüpfung von TranslationValuesSet:

%Vor%

NHibernate.QueryException: Query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=,role=Translation.TranslationValuesSet,tableName=TranslationValue,tableAlias=translatio3_,origin=Translation translatio2_,colums={translatio2_.TranslationId ,className=TranslationValue}}] [select act from Activity act join fetch act.Title join fetch act.Title.TranslationValuesSet

Ich kann nicht herausfinden, warum Hibernate das nicht mag!?

Thx für irgendwelche Tipps!

    
sl3dg3 23.03.2011, 11:06
quelle

1 Antwort

9

... stellt sich heraus, dass ich einen Alias ​​für den ersten Join definieren muss. Dies macht den Trick (notice alias title ):

%Vor%     
sl3dg3 23.03.2011, 12:44
quelle

Tags und Links