如何获取自定义对象列表,例如查询以下结果:
SELECT p.category.id, count(p.id) FROM Product p left join p.category c WHERE p.seller.id=:id GROUP BY c.id
例如:
return getEntityManager().createQuery("SELECT p.category.id, count(p.id) FROM Product p left join p.category c WHERE p.seller.id=:id GROUP BY c.id").setParameter("id", id).getResultList();
我需要一张带有类别ID和类别中产品数量的地图。
不幸的是,JPA没有提供一种标准的方法来检索中的结果Map
。但是,通过遍历结果列表来手动构建地图非常简单:
TypedQuery<Object[]> q = getEntityManager().createQuery(
"SELECT c.id, count(p.id) " +
"FROM Product p LEFT JOIN p.category c " +
"WHERE p.seller.id = :id " +
"GROUP BY c.id", Object[].class).setParameter("id", id);
List<Object[]> resultList = q.getResultList();
Map<String, Long> resultMap = new HashMap<String, Long>(resultList.size());
for (Object[] result : resultList)
resultMap.put((String)result[0], (Long)result[1]);
如何获取自定义对象列表,如以下查询结果: 举例来说: 我需要一个类别ID和类别中的产品数量的地图。
我想使用以下查询获得结果列表: 我在它的实体类中使用了它,但我得到了异常: 当用户成功登录应用程序时,将获得matricula字段。应该通过CDI在NamedQuery中设置它来查询数据库。matricula字段位于另一个不同于此处映射的表中。 如何设置注入的setsionChave字符串在参数的矩阵,这是XRlzConsolado类类型? 豆子: 有3个实体:XRlz、XRlzConsolado
在我的示例中,如何使用JPA CriteriaBuilder(如hibernate Criteria)这样的标准进行选择? 和
我使用criteriaBuilder为特定类型创建criteriaQuery。 我需要在使用EntityManager的createQuery方法时限制查询的结果。 但我也需要知道有多少结果我可以得到没有限制,因为我需要它来计算页数的分页系统。 所以我使用了另一个criteriaQueryObject来创建一个选择计数
你们知道如何忽略嵌套的“results”属性并直接获得列表吗?在这种情况下真的需要自定义反序列化器或包装器类吗? 谢了!
我有一个问题 我有DTO 我的格言1。如何修复此错误以及此错误的含义?2.有没有更容易的方法得到这个结果?