【发布时间】:2020-03-18 23:45:54
【问题描述】:
所以我使用了一个简单的 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) 主键
【问题讨论】:
-
你才是真正的 MVP。这应该是公认的答案,但您发表了评论
-
我已经发布了答案。 )
-
也许this我关于批量插入的回答对你来说也会很有趣......
-
我在我的实体上使用 UUID 生成器,但我使用 .save() 方法进行非批量插入,但我仍然看到同样的问题?
标签: java hibernate spring-data-jpa