将 JPA query.getResultList() 转换为 MY 对象

2023-12-28

我正在对我的数据库执行查询JPA。该查询“查询”4 个表,结果聚合来自不同表的列。

我的查询是这样的:

Query query = em.createQuery("SELECT o.A, o.B, o.C, e.D, c.E FROM Table1 o, 
Table2 i, Table3 e, Table4 c WHERE o.X = i.X AND i.Y = e.Y AND i.Z = c.Z");

如何获取查询结果并提取不同字段?

我创建了一个类(MyObject)来表示结果列表的每个项目,我想将 query.getResultList() 转换为 List.

我该怎么做?


这种查询返回一个List<Object[]>。因此,您只需要一个循环将每个数组转换为类的实例:

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],
                            ...));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 JPA query.getResultList() 转换为 MY 对象 的相关文章

随机推荐