我運行一個JPA 2.0原生查詢是這樣的:JPA 2.0原生查詢結果作爲地圖
Query query = em.createNativeQuery("SELECT NAME, SURNAME, AGE FROM PERSON");
List list = query.getResultList();
現在list
具有由查詢返回的所有行。我可以遍歷他們,但每個條目是一個Object[]
其中:
- 在索引0我覺得NAME
- 在索引1,我覺得SURNAME
- 在指數3,我覺得年齡
沒有人找到一種方法,做這樣的事情:
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
或
SELECT AGE, NAME, SURNAME FROM PERSON
甚至
SELECT AGE, SURNAME, NAME FROM PERSON
條件查詢? http://www.ibm.com/developerworks/java/library/j-typesafejpa/ – NimChimpsky
我不這麼認爲,因爲我仍然需要Person.class。正如我所說的,SQL qeury是動態的,我實際上不知道它會是什麼樣子。 – kovica