Mam tę klasę zmapowaną jako obiekt, można ją nazwać Person. Osoba ma powiązaną/komponentową relację z adresem. Mam problem z używaniem kryteriów zwracających obiekty adresów. Próbowałem tego:Pobieranie pliku emebedded lub komponentu przy użyciu Kryteriów Hibernacji api
Criteria.createCriteria(Address.class)
Który nie działa. Chyba muszę przejść przez ten byt, ale wtedy potrzebowałbym jakiejś projekcji?
Criteria.createCriteria(Person.class).<<what goes here???>>
Sugestie?
Ok, ale jak to się stało, że mogę zrobić HQL i pobrać adres bezpośrednio? Dlaczego to samo nie dotyczy zapytań? – Konstantin
Ponieważ HQL ma możliwości, których API Kryteriów nie ma. Teraz, jeśli naprawdę chcesz sam zwrócić swój adres za darmo, możesz utworzyć listę projekcji dla kryteriów opartych na osobie, która zawierałaby każdą właściwość adresu (i nic więcej) i zastosować "AliasToBeanResultTransformer" do wyniku. Ale to dużo bólu głowy i nic do pokazania; Zamiast tego wybrałbym pełną osobę i wyodrębniłbym adres (jeśli tego potrzebujesz) w kodzie java. Lub przejdź z HQL. – ChssPly76