Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Spring Batch批量插入?_Java_Spring_Hibernate_Spring Batch_Spring Data Jpa - Fatal编程技术网

Java 如何使用Spring Batch批量插入?

Java 如何使用Spring Batch批量插入?,java,spring,hibernate,spring-batch,spring-data-jpa,Java,Spring,Hibernate,Spring Batch,Spring Data Jpa,我使用SpringBatch和SpringDataJPA读取大型csv数据文件,并使用hibernate将条目持久化(或更新现有)到postgresql数据库 如何配置spring以使用批/批量插入 当我配置作业步骤时,我会相应地设置块大小: StepBuilderFactory step; step.chunk(10000).reader(csvReader).writer(jpaItemWriter).build(); 我是否需要进一步关注hibernate.jdbc.batch\u si

我使用SpringBatch和SpringDataJPA读取大型csv数据文件,并使用hibernate将条目持久化(或更新现有)到postgresql数据库

如何配置spring以使用批/批量插入

当我配置作业
步骤
时,我会相应地设置
大小:

StepBuilderFactory step;
step.chunk(10000).reader(csvReader).writer(jpaItemWriter).build();

我是否需要进一步关注
hibernate.jdbc.batch\u size
属性?我是否也必须将其设置为与块大小相同的大小?

当您设置块大小时,读取器将以指定的块向写入器发送数据。因此,块大小决定了spring批处理中db的实际批处理更新


我认为批量大小无关紧要,因为您已经为特定步骤的特定块大小设置了作业。

在写入数据库时,您还需要使用批量更新查询。谷歌搜索详细信息-因此,根据您执行JDBC查询的方式,您需要使用相应的批量更新机制

是的,但问题是:如何使用
hibernate
(spring batch使用的)实现批量更新?ooops ok-抱歉,我不知道答案,我已经对批量插入进行了一些研究。但以我有限的信息,我可以这么说。实际上,您可以同时发送一组查询。但不是一个查询将一组信息放在一起。ie;将有多个insert查询,但周转时间将更短。