Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Advanced
Aug 7, 2006

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 cache
hibernate.cache.use_second_level_cache false

//and now do your job like this
Session S=SF.openSession(); //SF = SessionFactory object
Transaction 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();
Leonard Anghel
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap