Hibernate 缓存
- - ITeye博客1数据缓存:(date caching) 是一种将数据暂时存于内存缓存去中的技术,缓存通常是影响系统性能的关键因素. 2.ORM的数据缓存策略有3中. 1.事务级缓存: 分为 数据库事务和 应用级事务,是基于Session的生命周期的实现,每个session都会在内部维持一个数据缓存, 随session的创建和消亡.
public void testEvict(){ Configuration config=new Configuration().configure(); SessionFactory factory=config.buildSessionFactory(); Session session=factory.openSession(); Transaction tr=session.beginTransaction(); //一级缓存: session缓存 中 通过 id 获取对象 Integer deptId=new Integer(21); Dept deptOne=(Dept)session.get(Dept.class, deptId); Dept deptTwo =new Dept(); deptTwo.setDeptId(deptId); deptTwo.setDeptName("采购部"); deptTwo.setCreateDate("2000-03-10"); session.evict(deptOne); //如果不先清楚 相同id的 deptOne 下面的 saveOrUpdate 就会报错 session.saveOrUpdate(deptTwo); tr.commit(); }
public void testClear(){ Configuration config=new Configuration().configure(); SessionFactory factory=config.buildSessionFactory(); Session session=factory.openSession(); Transaction tr=session.beginTransaction(); for(int i=0;i<10000;i++){ Dept deptTwo=new Dept(); deptTwo.setDeptName("才购物"); deptTwo.setCreateDate("2002-01-02"); session.save(deptTwo); if(i%20==0){ session.flush(); session.clear(); } } tr.commit(); session.close(); }