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();
}