wartość z listy criteria.list()

0

Mam bazę danych a w niej tabelę uzytkownicy. W tej tabeli są kolumny: nazwiska, imiona, pesel, adres, itd.
Mam kawałek kodu:

Session session = MyEntityManager.unwrap(Session.class);
        Criteria criteria = session.createCriteria(Uzytkownicy.class);
        criteria.add( Restrictions.like("pesel", pesel) );
        List result = criteria.list();
        session.close();

Jak teraz z result "wziąć" wartość nazwiska? Potrzebuję żeby wstawić w pole tekstowe (dalej analogicznie imiona, adres itd).

Gdy mam kod:

Iterator it =result.iterator();

        while(it.hasNext()){
            Object pomoc[]=(Object[])it.next();

        }

to mam błąd w IDE (NetBeans):
Exception in thread "main" java.lang.ClassCastException: okna.Uzytkownicy cannot be cast to [Ljava.lang.Object;

0

Ale czemu ty chcesz to pisać w jakiejś javie 1.4? Wiesz że od jakiegoś czasu jest już java 1.8? o_O
Weźże użyj genericów i nie bierz gołego List tylko List<Uzytkownicy>!

0

Jak zrobię:

List<Uzytkownicy>

to i tak nadal mam problem z pobraniem konkretnej wartości (cały wiersz to jeden obiekt). Możesz rozwinąć co dalej?
Nie jestem profesjonalistą, uczę się sam, tworzę sobie głównie w Netbeans, tam podglądam co i jak się robi, potem dostosowuję, szukam w internecie co i jak...
Dzięki za wskazówkę dot. Generic, już się przyglądam co i jak. Mimo wszystko co dalej odnośnie pytania na początku?

0

Ogarnąłem:

List<Uzytkownicy> result = criteria.list();
String s = ((Uzytkownicy)result.get(0)).getNazwiska();

Działa tak jak chciałem :)

1

Prościej było by zrzutować od razu całą listę:

List<Uzytkownicy> users = (List<Uzytkownicy>)criteria.list();
String s = users.get(0).getNazwiska();

1 użytkowników online, w tym zalogowanych: 0, gości: 1