码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-10-17 07:05:44      阅读:306      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!