首页 > 解决方案 > 如何在键值对中转换 createQuery 响应?

问题描述

我在我的应用程序中使用 createQuery 函数。下面是示例代码。

   String test = "select t.name,t.descr,t.category from Test t where t.companyId=companyId";

    List<Object[]> object = entityManager.createQuery(hql.toString())
            .setParameter("companyId", 9001).getResultList();

因此,截至目前,响应来自对象列表。列名没有响应,直接值来了。

我需要键值对中的响应,例如下面的示例。如果三行来自查询,则响应应该是

   {"name":"test","descr":"test descr", "category":"test category"}
   {"name":"test","descr":"test descr", "category":"test category"}
   {"name":"test","descr":"test descr", "category":"test category"}

实际上查询将在 createQuery 方法中动态进行,这就是为什么我不知道查询中有哪些列。

这就是为什么我需要在键值对中做出响应。

标签: javahibernatejpacreatequery

解决方案


推荐阅读