Я запускаю JPA 2.0 собственный запрос вроде этого:
Query query = em.createNativeQuery("SELECT NAME, SURNAME, AGE FROM PERSON");
List list = query.getResultList();
теперь список
содержит все строки, возвращенные запросом. Я могу перебирать их, но каждая запись представляет собой Object []
, где:
- с индексом 0 Я нахожу ИМЯ
- по индексу 1 Я нахожу ФАМИЛИЯ
- по индексу 3 Я нахожу ВОЗРАСТ
Кто-нибудь нашел способ сделать что-то вроде этого:
Map<String, Object> row = list.get(index);
String name = row.get("NAME");
String surname = row.get("SURNAME");
Integer age = row.get("AGE");
Мне это понадобится, поскольку выполняемый мной собственный запрос является динамическим, и я не знаю порядок полей в предложении SELECT, поэтому я не знаю ' не знаю идентификатор, запрос будет выглядеть так:
SELECT SURNAME, NAME, AGE FROM PERSON
или
SELECT AGE, NAME, SURNAME FROM PERSON
или даже
SELECT AGE, SURNAME, NAME FROM PERSON