AHu*_*ist 9 java oracle hibernate batch-file
我一直在寻找确定一些我不确定的Hibernate行为.在正确设置Hibernate批处理的情况下,它是否只在发送批处理时使用多个插入语句?是否无法使用DB独立的多插入语句?
我想我正在尝试确定我是否确实正确设置了批处理.我看到多个insert语句,但后来我也看到"执行批量大小:25"这一行.
我可以发布很多代码,但我试图保持这种一般性.所以,我的问题是:
1)您可以在日志中读到什么以确定正在使用批处理?
2)是否可以使Hibernate使用多行插入而不是多个插入语句?
Hibernate使用多个insert语句(每个实体插入一个),但是以批处理模式将它们发送到数据库(使用Statement.addBatch()和Statement.executeBatch()).这就是您在日志中看到多个insert语句的原因,也是"执行批量大小:25"的原因.
使用批处理语句大大减少了到数据库的往返次数,如果效率低于执行带有多个插入的单个语句,我会感到惊讶.此外,它还允许混合更新和插入,例如,在单个数据库调用中.
我很确定不可能让Hibernate使用多行插入,但我也很确定它会没用.
| 归档时间: |
|
| 查看次数: |
5447 次 |
| 最近记录: |