Prowadzę JPA 2.0 natywną zapytanie tak:JPA 2.0 rodzime wyniki kwerendy mapie
Query query = em.createNativeQuery("SELECT NAME, SURNAME, AGE FROM PERSON");
List list = query.getResultList();
teraz list
ma wszystkich wierszy zwracanych przez kwerendę. Mogę iteracyjne nad nimi, ale każdy wpis jest Object[]
gdzie:
- w indeksie 0 znajdę NAZWA
- w indeksie 1 znajdę nazwisko
- w indeksie 3 znajdę Wiek
Czy ktoś znaleźć sposób, aby zrobić coś takiego:
Map<String, Object> row = list.get(index);
String name = row.get("NAME");
String surname = row.get("SURNAME");
Integer age = row.get("AGE");
Potrzebowałbym tego, ponieważ natywne zapytanie, które wykonuję, jest dynamiczne i nie znam kolejności pola w klauzuli SELECT, więc nie wiem, id zapytanie będzie wyglądać:
SELECT SURNAME, NAME, AGE FROM PERSON
lub
SELECT AGE, NAME, SURNAME FROM PERSON
lub nawet
SELECT AGE, SURNAME, NAME FROM PERSON
kryteria zapytania? http://www.ibm.com/developerworks/java/library/j-typesafejpa/ – NimChimpsky
Nie sądzę, żebym nadal potrzebował Person.class w tyle. Jak już powiedziałem, qeury SQL jest dynamiczne i właściwie nie wiem, jak to będzie wyglądało. – kovica