【发布时间】:2014-07-10 09:36:59
【问题描述】:
我正在编写查询以从表中获取数据
我的 hql 查询是
SELECT distinct bd FROM BillDetails AS bd
LEFT JOIN FETCH bd.customerDetails AS cd
LEFT JOIN FETCH bd.billProductList AS bpd
LEFT JOIN FETCH bpd.product AS pd
WHERE bd.billNo=:id
AND bd.client.id=:cid
以上查询正常
我想编写查询来获取billPaidDetailses 的所有金额字段的总和。
billPaidDetailses 是BillDetails 类中的一个列表。
我正在尝试跟踪查询,但它不起作用
String hql = "select distinct bd,sum(bpds.amount) from BillDetails as bd "
+ "left join fetch bd.customerDetails as cd "
+ "left join fetch bd.billProductList as bpd "
+ "left join fetch bpd.product as pd "
+"left join fetch bd.billPaidDetailses as bpds "
+ "where bd.billNo=:id "
+ "and bd.client.id=:cid ";
返回的错误是
org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch
multiple bags
【问题讨论】:
-
你确定聚合函数,这个案例
sum()可以和join一起使用吗? -
如何尝试使用此查询
select sum(bpd.amount) from BillDetails as bd left join fetch bd.customerDetails as cd left join fetch bd.billProductList as bpl left join fetch bpd.product as pd left join fetch bd.billPaidDetailses as bpd where bd.billNo=:id and bd.client.id=:cid -
@suninsky 查看更新的查询
-
叹息,又一个“不工作”。您为什么不发布您遇到的错误并大大增加实际获得帮助的机会?它不像人们可以简单地获取您的 HQL 并自己执行它以查看发生了什么。
-
@Gimby 我再次尝试查询,它显示
org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags
标签: java hibernate jpa orm hql