2015-02-10 69 views
0

如何獲取下面對象的參數值[0],...,[4]?將對象參數提取到POJO

您在下面看到的對象是EntityManager.createNativeQuery()的結果。 我想使用這些值來創建一個POJO。我知道我可以使用EntityManager.createNativeQuery(「SQL Query」,MyPOJO.class),但它只返回POJO ID,所有其他變量都是空的?!我對如何獲取對象的參數感興趣。

無法將返回的對象轉換爲MyPOJO,因爲MyPOJO是一個JPA實體,它引用了另一個JPA實體,並且返回的對象僅包含其他JPA實體的ID。

Object state

謝謝!

+0

對實體創建namedquery然後用EntityManager.createNamedQuery( 「queryName」);它返回一個POJO類 – 2015-02-10 21:42:13

+0

謝謝,但它不是我所要求的,我需要使用createNativeQuery();. – FilipR 2015-02-10 21:57:47

回答

0

我解決它通過以下方式:

讓nativeQuery回到我的結果[對象]列表,並通過索引來訪問該對象的值。

這裏是我的解決方案:

List<Object[]> executeObjects = null; 
Query query = mgr.createNativeQuery("SQL Query"); 
executeObjects = (List<Object[]>) query.getResultList(); 

for (Object[] object : executeObjects) { 
    Long id = new Long((Integer) object[0]); 
    Long id2 = new Long((Integer) object[1]); 
    String desc = (String) object[2]; 
    ... 
    ... 
}