繁体   English   中英

Hibernate生成额外的查询

[英]Hibernate generates extra query

我有2张桌子A和B。 我像a.key =? 和a.id = b.id

它会生成多余的查询。

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

我不明白为什么它不能执行查询购买,在单个查询中给出了179个元素

在从A到B的关系中,您最可能具有:

batch-size="100"

并可能:

fetch="select"

您可以将其更改为:

fetch="join"

或将批次大小增加到200,然后看看会发生什么。

请注意, a.id=b.id部分敲响了您的OO设计和ORM映射不正确的提示。 您需要使用关系并让休眠状态为您完成工作(在这种情况下为联接)。 如果是这种情况,那么以上建议在您正确映射实体之前不适用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM