gpt4 book ai didi

java - Hibernate 生成额外的查询

转载 作者:行者123 更新时间:2023-11-29 06:17:22 25 4
gpt4 key购买 nike

我有 2 个表 A 和 B。我把hql写成a.key=?和 a.id=b.id

它会生成超出需要的额外查询。

第一个查询是从获取匹配给 a.key 的元素(它有 179 个元素)。然后它执行相同的查询 4 ​​次。第一次迭代在“in”子句中采用 100 个参数,然后是 50 个、25 个和 4 个。

我不明白为什么它不能执行在单个查询中给出 179 个元素的查询 buy

最佳答案

关于您从 A 到 B 的关系,您最有可能拥有:

batch-size="100"

可能还有:

fetch="select"

您可以将其更改为:

fetch="join"

或者将批量大小增加到 200,看看会发生什么。

请注意,您查询的 a.id=b.id 部分提醒您您的 OO 设计和 ORM 映射不正确。您需要使用关系并让 hibernate 为您完成这项工作(在本例中为连接)。如果是这种情况,则在您正确映射实体之前,上述建议不适用。

关于java - Hibernate 生成额外的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4569337/

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