悟心

成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。 上人生的旅途罢。前途很远,也很暗。然而不要怕。不怕的人的面前才有路。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  93 随笔 :: 1 文章 :: 103 评论 :: 0 Trackbacks
批量插入(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(); 

posted on 2010-07-30 17:17 艾波 阅读(1586) 评论(0)  编辑  收藏 所属分类: SS2H

只有注册用户登录后才能发表评论。


网站导航: