[ Mister_rap @ 29.04.2009. 14:45 ] @
Nazalost teme sa hibernate.org nisu dostupne...

Nemam neko iskustvo sa hibernate-om tako da je moje pitanje verovatno prilicno jednostavno (ako sam ga formulisao jasno):

Code:

q = session.createQuery("from Books where NESTO='"+nesto+"'");
List res = q.list();


e sada, recimo u klasi Books imam

Code:

private Set rentingHistories = new HashSet(0);
...
public Set getRentingHistories() {
        return this.rentingHistories;
}
    
public void setRentingHistories(Set rentingHistories) {
        this.rentingHistories = rentingHistories;
}


U tom setu bi trebala da mi se nalaze stanja o knjigama tj. detalji o njihovim iznajmnjivanjima pa me zanima kako da iz tog seta izvucem objekat tipa RentingHistory i da ispitam ono sto mi je dalje potrebno!?

[ Mister_rap @ 29.04.2009. 15:48 ] @
Resio sam, mada je resenje mozda primitivno tako da ako neko ima neki savet, prihvatam :D

Ukratko ovo radi ono sto mi treba:

Code:

q = session.createQuery("from Books where NESTO='"+nesto+"'");

for (Iterator it=q.iterate(); it.hasNext();){
     Books bc = (Books) it.next();             
     Set renting = bc.getRentingHistories();
            
     for (Iterator it2 = renting.iterator(); it2.hasNext();){
                RentingHistory rt = (RentingHistory) it2.next();
                //uzmem sta mi treba iz rt.met()
     }
            //ostalo ...
}
[ staleks @ 30.04.2009. 08:25 ] @
Ako koristis Javu 5(java 1.5) ili Javu 6,

onda imas nesto sto se zove Generics. Koristeci njihovu funkcionalnost kolekcijama unapred mozes da zadas sta ce im biti sadrzina,
pa tako u tvom primeru klasa Book bi mogla da izgleda ovako nekako (barem sto se tice RentingHistory-ja)

Code:

    private Set<RentingHistory> rentingHistories = new HashSet<RentingHistory>(0);

    ... 

    public Set<RentingHistory> getRentingHistories() {
        return this.rentingHistories;
    }

    public void setRentingHistories(Set<RentingHistory> rentingHistories) {
        this.rentingHistories = rentingHistories
    }


Takodje, ja imam obicaj da odmah dodam i dve metode za dodavanje i izuzimanje objekta iz kolekcije, pa bi tako trebalo da imas

Code:

    public void addRentingHistory(RentingHistory rentingHistory) {
        if (rentingHistory != null) {
            this.rentingHistories.add(rentingHistory);
        }
    }

    public void removeRentingHistory(RentingHistory rentingHistory) {
        if (rentingHistory != null) {
            this.rentingHistories.remove(rentingHistory);
        }
    }


I sada jos u compile time imas proveru da li neki objekat moze da se smesti u ovu kolekciju.

Sto se tice sad pitanja o kretanju kroz ovu kolekciju, Java5 odnosno Java6 imaju novi koncept foreach pa tako onda
kretanje kroz kolekciju moze da se odradi i tako kako si ti krenuo, Iteratorom, ili sa foreach

Code:


    for (RentingHistory item : getRentingHistories()) {
        // sada uradi nesto sa item    
    }




Nadam se da sam bio od pomoci.

[ Mister_rap @ 30.04.2009. 20:48 ] @
Hvala za odgovor, ovo sam vec znao, samo sam mislio da hibernate ima u sebi nesto sto pojednostavljuje ovakve stvarcice