首页 > Web开发 > 详细

hibernate学习(六) flush()和clean()区别和使用

时间:2016-10-17 07:03:28      阅读:144      评论:0      收藏:0      [点我收藏+]

session.flush()是强制和数据库同步

session.clean()是清除session中的缓存

对于批量数据插入的时候优化:
减少cpu和内存(缓存)占用量

	@Test
	public void saveAllDo(){
		Transaction tx = null;
		try{
			tx = session.beginTransaction();//开启事务
			for(int i=0;i<10000;i++){
				Customer customer = new Customer();
				customer.setCustomerName("fank"+i);
				session.save(customer);
				//在50次sql语句的时候强行提交数据
				if(i%50==0){
					session.flush();
					session.clear();
				}
			}
			
			tx.commit();
		}catch(Exception e){
			  if(tx!=null){
				  tx.rollback();
			  }
		      e.printStackTrace();	
		}finally{
			if(session!=null && session.isOpen()){
				session.close();
			}
		}
		
	}

2.使用原生jdbc进行数据优化 

hibernate学习(六) flush()和clean()区别和使用

原文:http://www.cnblogs.com/lonecloud/p/5968216.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!