gpt4 book ai didi

java - hibernate 批量插入。它会使用一个插件而不是多个插件吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:16:41 24 4
gpt4 key购买 nike

我一直在四处寻找,试图确定一些我不确定的 Hibernate 行为。在正确设置 Hibernate 批处理的情况下,它是否只会在发送批处理时使用多个插入语句?不可以使用独立于数据库的多插入语句吗?

我想我正在尝试确定我是否真的正确设置了批处理。我看到了多个插入语句,但随后我也看到了“Executing batch size: 25”这一行。

我可以发布很多代码,但我尽量保持这个一般性。所以,我的问题是:

1) 您可以从日志中读取哪些内容来确定正在使用批处理?

2) 是否可以使 Hibernate 使用多行插入而不是多个插入语句?

最佳答案

Hibernate 使用多个插入语句(每个实体一个插入),但以批处理模式将它们发送到数据库(使用 Statement.addBatch()Statement.executeBatch() )。这就是您在日志中看到多个插入语句以及“执行批量大小:25”的原因。

批处理语句的使用大大减少了往返数据库的次数,如果它的效率低于执行包含多个插入的单个语句,我会感到惊讶。此外,它还允许混合更新和插入,例如,在单个数据库调用中。

我很确定让 Hibernate 使用多行插入是不可能的,但我也很确定它是无用的。

关于java - hibernate 批量插入。它会使用一个插件而不是多个插件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6166568/

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