Hibernate为了解决频繁查询数据的效率问题,提供了三种级别的缓存
1.一级缓存
一级缓存 又叫 session缓存 。Session对象会缓存处于持久化状态的每个对象 ,如果下次想用数据表中同一条记录的对应对象时,不会再去数据库中取,而是直接使用
Session对象缓存的对象。Session对象缓存的持久化状态的对象不会被垃圾回收器回收。
如果Session对象中缓存了太多的持久化状态的对象,Session对象占用的内存就会一直增长。为了防止造成内存溢出,我们可以调用Session对象的两个方法来清理Session缓存:
evict()方法 : 剔除指定的一个持久化状态的缓存对象
clear()方法 : 清除所有该session对象中的持久化状态的缓存对象
原文:http://www.cnblogs.com/wangliyue/p/4152000.html