wartość z listy criteria.list()

Odpowiedz Nowy wątek
2015-01-10 13:00
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;

edytowany 1x, ostatnio: bogdans, 2015-01-10 14:04
!Wstawiaj kod w znaczniki <code=java></code> - bogdans 2015-01-10 14:04

Pozostało 580 znaków

2015-01-10 13:41
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>!


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
Pokaż pozostałe 2 komentarze
Problem w przypadku Hibernate jest taki, że 'trzeba', a nie 'można' ;) - airborn 2015-01-10 17:47
Hibernate 4 nie ma już czasem genericsow? - Shalom 2015-01-10 20:08
Tak, te wszystkie przykłady odnoszą się do javax.persistence.criteria.CriteriaBuilder z JPA. Oczywiście Hibernate jako implementacja JPA wspiera to, ale samo Criteria z Hibernate wciąż nie korzysta z genericów. - airborn 2015-01-11 00:18

Pozostało 580 znaków

2015-01-10 15:20
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?

Pozostało 580 znaków

2015-01-10 17:42
0

Ogarnąłem:

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

Działa tak jak chciałem :)

edytowany 2x, ostatnio: koklowski, 2015-01-10 17:43
nie ma to jak zaakceptować własną odpowiedź w topicu założonym przez siebie :) - garai 2015-01-10 17:48
Wiem jak to wygląda ale skoro wpadłem na rozwiązanie... ;) - koklowski 2015-01-11 13:57

Pozostało 580 znaków

2015-01-10 17:46

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

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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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