tôi chạy một truy vấn nguồn gốc JPA 2.0 như thế này:JPA 2.0 bản địa kết quả truy vấn dưới dạng bản đồ
Query query = em.createNativeQuery("SELECT NAME, SURNAME, AGE FROM PERSON");
List list = query.getResultList();
tại list
có tất cả các hàng trả về bởi truy vấn. Tôi có thể lặp qua chúng, nhưng mỗi entry là một Object[]
nơi:
- tại index 0 Tôi tìm TÊN
- tại chỉ số 1 tôi thấy HỌ
- tại chỉ số 3 Tôi tìm TUỔI
Có ai tìm cách làm điều gì đó như thế này không:
Map<String, Object> row = list.get(index);
String name = row.get("NAME");
String surname = row.get("SURNAME");
Integer age = row.get("AGE");
Tôi cần điều này vì truy vấn gốc mà tôi thực thi là truy vấn động và tôi không biết thứ tự của trường trong mệnh đề SELECT, vì vậy tôi không biết id truy vấn sẽ trông giống như:
SELECT SURNAME, NAME, AGE FROM PERSON
hoặc
SELECT AGE, NAME, SURNAME FROM PERSON
hoặc thậm chí
SELECT AGE, SURNAME, NAME FROM PERSON
truy vấn tiêu chí? http://www.ibm.com/developerworks/java/library/j-typesafejpa/ – NimChimpsky
Tôi không nghĩ vậy, bởi vì tôi vẫn cần Person.class đằng sau. Như tôi đã nói SQL qeury là năng động và tôi thực sự không biết nó sẽ như thế nào. – kovica