首页 > 代码库 > hibernate学习(六) flush()和clean()区别和使用
hibernate学习(六) flush()和clean()区别和使用
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()区别和使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。