Hibernate批量提交

Hibernate批量提交
批量插入(Batch inserts) 
如果要将很多对象持久化,你必须通过经常的调用 flush() 以及稍后调用 clear() 来控制第一级缓存的大小。 

Session session 
=  sessionFactory.openSession(); 
Transaction tx 
=  session.beginTransaction(); 
   
for  (  int  i = 0 ; i < 100000 ; i ++  ) { 
    Customer customer 
=   new  Customer(..); 
    session.save(customer); 
    
if  ( i  %   20   ==   0  ) {  // 20, same as the JDBC batch size  // 20,与JDBC批量设置相同 
        
// flush a batch of inserts and release memory: 
        
// 将本批插入的对象立即写入数据库并释放内存 
        session.flush(); 
        session.clear(); 
    } 

   
tx.commit(); 
session.close(); 

你可能感兴趣的:(Hibernate批量提交)