java - 如何获取列表
问题描述
我正在使用休眠来获得这样的结果,
project_id - 123 , 111 , 134
计数 - 2 , 5 ,6
这是我的道层-
@Query("SELECT project_id,COUNT(*) FROM lead_master WHERE vendor_id = ?1 and source = 'share' group by project_id ")
List<Map<String,Object>> getProjectLead(userId);
输出 - 我想要映射列表,其中 project_id 应该是键,计数应该是与该键关联的对象。所以它会像 -
123 - 2
111 - 5
134 - 6
解决方案
您可以使用 a ResultTransformer
:
(List<Map<String, Object>>) entityManager.createNativeQuery(
"SELECT project_id, COUNT(*) FROM lead_master WHERE vendor_id = :userId and source = 'share' group by project_id "
)
.setParameter("userId", userId)
.unwrap(org.hibernate.query.Query.class)
.setResultTransformer(
new ResultTransformer() {
@Override
public Object transformTuple(Object[] tuple, String[] aliases) { // 2.
return new HashMap.of((String) tuple[0], tuple[1]);
}
@Override
public List transformList(List collection) {
return collection;
}
}
)
.getResultList();
推荐阅读
- php - 如何获取上传路径
- android - 如何使用 Navigation Comp 为 Fragment 启用 Backstack。库
- java - 如何使用java将https put请求发送到其主体中具有json内容的特定主机?
- web-scraping - 无法使铬按钮(python)
- spring - 如何仅将一些信息保存到 .log 文件
- hyperledger-fabric - 当从 Fabric 客户端应用程序提交事务时,哪个对等 SDK 将实际提交事务到网络?
- javascript - 如何正确检查两个条件?
- ringcentral - 如何设置 RingCentral 保持音乐?
- node.js - TypeError:connectDb 不是函数?
- jquery - 用jquery找到一个id的确切位置号