hibernate - 如何检查 JDBC 批处理是否真的有效?
问题描述
我阅读了这篇关于 jdbc 批处理的文章,它建议我打开spring.jpa.properties.hibernate.generate_statistics=true
以检查批处理是否真的有效。
所以当我尝试它并做了一堆插入语句时,日志向我展示了这一点。
27933133 nanoseconds spent executing 2 JDBC batches;
所以它确实奏效了。但我想知道 sql 语句是什么样的,所以我尝试打开 SQL logging logging.level.org.hibernate.SQL=DEBUG
。我尝试保存 10 个项目,并且我希望批量大小为 5,我会看到 2 个插入 SQL 语句。但是,当我查看日志时,我看到了 10 条插入 SQL 语句……这是为什么呢?这是文章顺便说一句:https ://www.baeldung.com/jpa-hibernate-batch-insert-update
我误解了这篇文章吗?如果 jdbc 进行了批处理,为什么我看到 10 个 SQL 语句而不是 2 个?
这是我的配置:
spring.jpa.properties.hibernate.jdbc.batch_size=5
spring.jpa.properties.hibernate.order_inserts=true
spring.jpa.properties.hibernate.order_updates=true
spring.jpa.properties.hibernate.batch_versioned_data=true
logging.level.org.hibernate.SQL=DEBUG
spring.jpa.properties.hibernate.generate_statistics=true
解决方案
推荐阅读
- javascript - JavaScript - 通过 DOM 遍历获取 href 属性值
- java - 使用重复策略在二维数组中查找邻居
- visual-studio-code - Visual Studio 代码:找不到飞镖
- c - 如何将此 switch 语句链接到我在 c 中的程序?:
- javascript - 使用 Axios 将数据从 Vue.js 传递到 PHP
- windows - Uwp TextBox 停止接收来自触摸键盘的输入
- django - 如何从命令行(终端)创建模型实例
- php - Symfony 4 Collections 表单错误:无法猜测
- angular - Wait for backend response to update page
- regex - 删除 Perl 中前导数字之间的空格