因此,我使用一个简单的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)


谁能看到执行JDBC批处理为0的原因?
另外,我必须指出我的实体具有@GeneratedValue(strategy = IDENTITY)主键

最佳答案

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

07-26 07:21