2015-02-10 70 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]; 
    ... 
    ... 
}