[英]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.