2011-03-23 10 views
8

Mam następujący model Activity z zależną od języka właściwością Title. Uzależnienie od języka jest zdefiniowane dwoma dodatkowymi obiektami Translation (Tytuł jest tego typu wiele-do-jednego) i TranslationValue (jeden do wielu)Join Fetch: "zapytanie o dołączenie pobierania, ale właścicielem pobranego skojarzenia był

Jeśli piszę następujący HQL.

from Activity act join fetch act.Title join fetch act.Title.TranslationValuesSet 

to działa prawidłowo tak daleko, ale jak tylko dodam akt do. instrukcja select, mam problem z połączeniem TranslationValuesSet:

select act from Activity act join fetch act.Title join fetch act.Title.TranslationValuesSet 

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

Nie mogę zrozumieć, dlaczego Hibernate nie tak !?

Thx za wszelkie tippy!

Odpowiedz

9

... Okazuje się, że muszę zdefiniować alias dla pierwszego sprzężenia. To działa (alias nr title):

select act from Activity act join fetch act.Title title join fetch title.TranslationValuesSet 
+3

A dlaczego tak jest? Działa również dla mnie, po problemach po aktualizacji wersji Hibernuj. Czy oni coś zmienili? Dokładnie to samo zapytanie zostało wykonane poprawnie w JBoss 4.2.2.GA, ale nie w JBoss 6.0.0.Final. –

+0

Jednak to nie zadziała, jeśli spróbujesz wybrać kombinację pól i zagnieżdżonych elementów :( – chrismarx

+0

Napotkałem ten sam problem podczas aktualizacji z Hibernate 3.3 do Hibernate 3.6 i nie w oficjalnym podręczniku migracji. wspomniał, że zachowanie parser kwerendy mogło się zmienić !! Hibernate potrzebuje lepszej pracy z przewodnikami migracji! –

Powiązane problemy