Convert JPA query.getResultList() to MY Objects

天大地大妈咪最大 提交于 2019-12-05 08:58:55

This kind of query returns a List<Object[]>. So you just need a loop to convert each array into an instance of your class:

List<Object[]> rows = query.getResultList();
List<MyObject> result = new ArrayList<>(rows.size());
for (Object[] row : rows) {
    result.add(new MyObject((String) row[0],
                            (Long) row[1],
                            ...));
}
mabi

You're looking for the SELECT NEW construct, explained in this answer:

"SELECT NEW your.package.MyObject(o.A, o.B, o.C, e.D, c.E) 
   FROM Table1 o, Table2 i, Table4 c
   WHERE o.X = i.X AND i.Y = e.Y AND i.Z = c.Z"

Of course, your MyObject must have a matching constructor.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!