[ k4rl0 @ 30.09.2012. 15:46 ] @
Pozdrav svima,

Dakle imam bazu podataka koja ima sljedece tablice:

Skola
Odjel
Razred
Ucenici

Svaka od tablica je povezana stranim kljucem tablicom koja se hijerarhijski nalazi iznad nje.
Dakle, Ucenici sadrze ID od Razreda kojem pripadaju, Razred sadrzi ID od Odjela u kojem se nalaze,
a Odjeli sadrze ID od Skole kojoj pripadaju.

I sada bih trebao preko Hibernate-a dohvatiti sve ucenike koji pripadaju odredenoj skoli.
Ucenici dakle nigdje nemaju navedeno u kojoj Skoli se nalaze, vec samo Razred u kojem jesu, dalje
Razred zna kojem Odjelu ucenik pripada, a Odjel na kraju zna kojoj Skoli odredeni Ucenik pripada.

Na koji nacin dakle izvuci sve ucenike odredene skole uz sto manje upita na bazu?

Nadam se da sam dobro objasnio problem i zahvaljujem na svim odgovorima
[ Boris_ZR @ 10.12.2012. 16:41 ] @
Pozdrav.

Po dizajnu baze koji si postavio/la,
jasno je da se mora raditi spajanje (join) tabela da bi se dobio taj tvoj traženi podatak, jer nemaš direktnu vezu između učenika i škole.
Dovoljan je jedan upit da se izvrši, samo je potrebno spojiti sve tabele u tom jednom upitu.

Evo ga jedan primer:
http://www.java4s.com/hibernat...n-hibernate-left-join-example/
Sve što treba je da proširiš ovaj primer za sve četiri tabele.
Dodatna literatura je ovde:
http://docs.jboss.org/hibernat...yhql.html#queryhql-joins-forms
Kada dobiješ ove podatke, samo je potrebno filtrirati ih po konkretnoj šifri škole ili nazivu (dodati WHERE uslov).

Nadam se da sam pomogao, sve najbolje.