我运行 JPA 2.0 本机查询,如下所示:
Query query = em.createNativeQuery("SELECT NAME, SURNAME, AGE FROM PERSON");
List list = query.getResultList();
now list
包含查询返回的所有行。我可以迭代它们,但每个条目都是一个Object[]
where:
- 在索引 0 处我找到 NAME
- 在索引 1 处我找到 SURNAME
- 在索引 3 处我找到 AGE
有没有人找到一种方法来做这样的事情:
Map<String, Object> row = list.get(index);
String name = row.get("NAME");
String surname = row.get("SURNAME");
Integer age = row.get("AGE");
我需要这个,因为我执行的本机查询是动态查询,并且我不知道 SELECT 子句中字段的顺序,所以我不知道查询的 id 看起来像:
SELECT SURNAME, NAME, AGE FROM PERSON
or
SELECT AGE, NAME, SURNAME FROM PERSON
or even
SELECT AGE, SURNAME, NAME FROM PERSON