Załóżmy, że mam encje Samochod i Wypadki (przykald bezsensowny, ale na nim mozemy poleciec z objasnieniem problemu).
Mozemy miec wiele wypadkow do 1 samochodu.
Encje sa dobrze przygotowane i sa w bazie.
Jednak potrzebujemy, by manager zwrocil nam liste obiektow, takich ze: mamy samochod i liczbe wypadkow,
no to tworze klase:
WypadkiWrapper { Samochod samochod, int liczbaWypadkow } - liczba wypadkow to ilosc wpisow w tabeli Wypadki z id jako klub obcy danego samochodu
Potrzebuje skorzystac z Criteria (tak chyba najbardziej elegancko) [nawiasem mowiac, jak korzystam z Hibernate, to musze miec funkcjonalnosc createCriteria(), prawda ?; bo aktualnie nie widze dostepu do sesji z poziomu menadzera... ale to juz inna sprawa]
Aby osiagnac zamierzony efekt musze zrealizowac zapytanie:
Select Samochod.nazwa, count(Wypadki.SamochodID) from Samochod.nazwa join Wypadki on Samochod.ID == Wypadki.Samoc_ID groupBy (Samochod) - jest to ok?
jak to moge zrealizowac w HibernateCriteria tak mnie wiecej ? (zawsze robilam proste zapytania typu zwroc cos, majace przewaznie linijke, a tu takie zlozone teraz)
Czy moze lepszym rozwiazaniem bedzie HQL, czy natyrny sql, jesli tak, to dlaczego (ale watpie) ?