读书人

Hibernate中驱除缓存对象方法

发布时间: 2012-10-21 09:00:08 作者: rapoo

Hibernate中清除缓存对象方法
我们知道,如果一味的让新的数据放到缓存中去,那我们计算机肯定会内存崩溃。所以进行必要的缓存清除还是很有必要的。
下面我们分析一下几种方法:
1 clear()方法
我们可以在session-factory标签下创建property标签,name属性为hibernate.jdbc.batch_size,值为我们想要设定的数字,假如为100,下一步当我们执行操作flush()发送SQL语句时候调用session.clear()方法,就可以实现清除缓存的效果了。

for(int i=0;i<1000;i++){   Order order = new Order();   order.setId();   session.save(order);   if(i%100==0){      session.flush();      session.clear();   }}


2 evict()方法
该方法于上一个方法不同,它只能用于处理单个对象的清除工作。
for(int i=0;i<1000;i++){   Order order = new Order();   order.setId();   session.save(order);   session.evict();//清除session缓存   SessionFactory.evict();//清除二级缓存}

读书人网 >软件架构设计

热点推荐