gpt4 book ai didi

java - 通过 HQL 让 child 计数

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:35 28 4
gpt4 key购买 nike

我在父实体和子实体之间有一个一对多的映射。现在我需要找到与 parent 列表中每个 parent 关联的 child 的数量。我正在尝试使用 HQL 执行此操作,但我不确定如何在其中获取 parent 名单。另外,我不知道如何返回实体本身而不仅仅是它的 ID。我当前的 HQL 查询是:

select new map(parent.id as parentId, count(*) as childCount) 
from Parent parent left join parent.children children
group by parent.id

但这只会返回 ID,不会过滤特定的 parent 。

编辑根据 Pascal 的回答,我将查询修改为

select new map(parent as parent, count(elements(parent.children)) as childCount) 
from Parent parent
group by parent

这确实有效,但速度慢得令人望而却步:在同一个数据库上需要 30 秒而不是 400 毫秒。

最佳答案

我不是 100% 确定,但是这个呢:

select new map(parent.id, count(elements(parent.children)))
from Parent parent group by parent.id

关于java - 通过 HQL 让 child 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2161436/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com