Batch Processing in Hibernate

Suppose you need to insert 200,000 records into a database in Hibernate. You’ll need to adjust the following settings:

//set the JDBC batch size (it is fine somewhere between 20-50)hibernate.jdbc.batch_size 30//disable second-lavel cachehibernate.cache.use_second_level_cache false//and now do your job like thisSession S=SF.openSession(); //SF = SessionFactory objectTransaction T=S.beginTransaction();   for (int i=0;i<200000;i++){   record r=new record(...);   S.save(record);   if(i % 30==0)   {          //30, same as the JDBC batch size      //flush a batch and release memory      session.flush();      session.clear();   }} //clean  T.commit();S.close();
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: