首页 > 解决方案 > Spring Data JPA saveAll 不进行批量插入

问题描述

所以我使用了一个简单的 JpaRepository 并调用了saveAll()方法。

hibernate.jdbc.batch_size = 500
hibernate.order_inserts = true
hibernate.generate_statistics = true

运行应用程序后:

   8045055 nanoseconds spent acquiring 1 JDBC connections;
    0 nanoseconds spent releasing 0 JDBC connections;
    137189246 nanoseconds spent preparing 1158 JDBC statements;
    1417689514 nanoseconds spent executing 1158 JDBC statements;
    0 nanoseconds spent executing 0 JDBC batches;
    0 nanoseconds spent performing 0 L2C puts;
    0 nanoseconds spent performing 0 L2C hits;
    0 nanoseconds spent performing 0 L2C misses;
    16270990 nanoseconds spent executing 1 flushes (flushing a total of 1158 entities and 0 collections);
    0 nanoseconds spent executing 0 partial-flushes (flushing a total of 0 entities and 0 collections)

任何人都可以看到 0 执行 JDBC 批处理的原因吗?另外,我必须指出我的实体有 @GeneratedValue(strategy = IDENTITY)主键

标签: javahibernatespring-data-jpa

解决方案


Hibernate 不使用身份标识符生成器执行插入批处理。更多信息在这里


推荐阅读