要使用Sring Boot和Spring Data JPA获得批量插入,您只需要两件事:
将选项设置
spring.jpa.properties.hibernate.jdbc.batch_size
为所需的适当值(例如:20)。saveAll()
回购的使用方法以及准备插入的实体列表。
工作示例在这里。
关于将插入语句转换为类似以下内容的方法:
INSERT INTO table VALUES (1, 2), (3, 4), (5, 6)
这在PostgreSQL中可用:您可以
reWriteBatchedInserts在jdbc连接字符串中将该选项设置为true:
jdbc:postgresql://localhost:5432/db?reWriteBatchedInserts=true
然后jdbc驱动程序将执行此转换。
您可以在此处找到有关批处理的其他信息。
更新
Kotlin演示项目:sb-kotlin-batch-insert-demo
更新
如果使用
IDENTITY标识符生成器,则Hibernate透明地在JDBC级别禁用插入批处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)