将对象参数提取到POJO

时间:2015-02-10 21:37:28

标签: java jpa

如何获得下面对象的[0],...,[4]参数的值?

您在下面看到的对象是EntityManager.createNativeQuery()的结果。 我想使用这些值来创建POJO。我知道我可以使用EntityManager.createNativeQuery(“SQL Query”,MyPOJO.class),但它只返回带有ID的POJO,其他所有变量都是空的?!我对如何获取对象的参数很感兴趣。

无法将返回的对象强制转换为MyPOJO,因为MyPOJO是一个JPA实体,引用了另一个JPA实体,返回的对象只包含另一个JPA实体的ID。

Object state

谢谢!

1 个答案:

答案 0 :(得分:0)

我通过以下方式解决了这个问题:

让nativeQuery将结果作为Object []列表返回给我,并通过索引访问Object的值。

这是我的解决方案:

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];
    ...
    ...
}