I'm trying to do bulk/batch inserts using spring-batch.
public ItemWriter<MyEntity> jpaItemWriter() { LocalSessionFactoryBuilder builder = new LocalSessionFactoryBuilder(ds); builder.addAnnotatedClasses(MyEntity.class); builder.setProperty("hibernate.show_sql", "true"); builder.setProperty("hibernate.batch_size", "20"); builder.setProperty("hibernate.order_updates", "true"); builder.setProperty("hibernate.order_inserts", "true"); HibernateItemWriter<MyEntity> writer = new HibernateItemWriter<>(); writer.setSessionFactory(builder.buildSessionFactory()); return writer; } Result: I'm getting only single insert statements, not bulk inserts! I can see it from the logs both of hibernate + on postgresql level. Why is the bulk insert not working?
Update:
@Entity public class MyEntity { @Id String shortname; String fullname; }
MyEntity? Hibernate disables insert batching at the JDBC level transparently if the primary key of the inserting table isGenerationType.Identity...MyEntityclass.