【问题标题】:How to iterate through getResultList in openJpa. List returning does not have Entity. fetching data has customized fields如何在 openJpa 中迭代 getResultList。返回的列表没有实体。获取数据具有自定义字段
【发布时间】:2016-10-13 13:32:38
【问题描述】:

我通过在 Openjpa 中运行本机查询来获得结果。

    .... reportQueryInstance =...createNativeQuery(QueryString,Object.class);
    List<Object> Listtemp = reportQueryInstance.getResultList();

for(Object obj:wubfaListtemp){

                    }

我怎样才能遍历我得到的结果。其中包含 5 列我没有实体并且我不能。如果结果是实体列表,我知道如何循环。

例如:

date:   shift:   arr-dep:    arr:    dep:
value   value1  value2    value3  value4

【问题讨论】:

  • 您的意思是根据 JPA 规范返回了 List&lt;Object[]&gt;
  • 我举了一些正确的例子,当我在 db 控制台中执行 sql 查询时,我会得到这样的数据。因为我没有任何实体,所以我将结果分配给 List。我应该分配给 List 吗?
  • 如果您有一个返回多列的查询,那么您的结果将是List&lt;Object[]&gt; 类型,正如我已经说过的。那是在 JPA 规范中。为什么不试试呢?
  • 它不起作用。它只给我第一列数据。循环时我将对象发送到以下方法.... private String resultAsString(Object o) { if (o instanceof Object[]) { return Arrays.asList((Object[])o).toString(); } else { 返回 String.valueOf(o); } }
  • 所以发布您的查询和其他所有内容。任何人都可以告诉你的是 JPA 规范所说的内容。

标签: java jpa openjpa


【解决方案1】:
for (int i =0; i<Listtemp.size(); i++) {
           Object=Listtemp.get(i);
           Object.get(date);

 }

【讨论】:

  • 欢迎来到 Stack Overflow!感谢您提供此代码 sn-p,它可能会提供一些有限的短期帮助。一个正确的解释would greatly improve 它的长期价值通过展示为什么这是一个很好的解决问题的方法,并将使它对未来有其他类似问题的读者更有用。请edit您的回答添加一些解释,包括您所做的假设。
猜你喜欢
  • 2013-05-15
  • 1970-01-01
  • 2012-06-06
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
  • 2018-02-06
相关资源
最近更新 更多