首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NativeQuery映射到POJO

将NativeQuery映射到POJO
EN

Stack Overflow用户
提问于 2019-04-12 22:42:07
回答 1查看 81关注 0票数 0

我有一个要映射到POJO的NativeQuery。

我尝试了下面的方法,但它以无限循环结束。

代码语言:javascript
复制
public synchronized List<FreeIP> getFirstFreeHost() {
    String q = "SELECT i.subnet, h.ip_host FROM ip_addresses i join hosts h on i.id = h.ip_addresses_id ORDER BY i.subnet, h.ip_host";
    this.entityManager = this.entityManagerFactory.createEntityManager();
    Query query = this.entityManager.createNativeQuery(q);
    List<Object[]> rows = query.getResultList();
    List<FreeIP> result = new ArrayList<>();
    for (Object[] row : rows) {
        result.add(new FreeIP((String) row[0], (String) row[1]));
    }

    return result;
}
EN

回答 1

Stack Overflow用户

发布于 2019-04-12 23:38:07

看看QLRM:https://github.com/simasch/qlrm

然后您可以执行以下操作:

代码语言:javascript
复制
JpaResultMapper jpaResultMapper = new JpaResultMapper();

Query q = em.createNativeQuery("SELECT i.subnet, h.ip_host FROM ip_addresses i join hosts h on i.id = h.ip_addresses_id ORDER BY i.subnet, h.ip_host");

List<EmployeeTO> list = jpaResultMapper.list(q, FreeIP.class);

确保FreeIP有一个接受查询的所有参数的构造函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55654149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档