Java 如何使用Spring Batch批量插入?
我使用SpringBatch和SpringDataJPA读取大型csv数据文件,并使用hibernate将条目持久化(或更新现有)到postgresql数据库 如何配置spring以使用批/批量插入 当我配置作业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
步骤
时,我会相应地设置块
大小:
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查询,但周转时间将更短。