首页 > 代码库 > Hibernate之缓存

Hibernate之缓存

Hibernate为了解决频繁查询数据的效率问题,提供了三种级别的缓存 

1.一级缓存

一级缓存 又叫 session缓存 。Session对象会缓存处于持久化状态的每个对象 ,如果下次想用数据表中同一条记录的对应对象时,不会再去数据库中取,而是直接使用

Session对象缓存的对象。Session对象缓存的持久化状态的对象不会被垃圾回收器回收。

如果Session对象中缓存了太多的持久化状态的对象,Session对象占用的内存就会一直增长。为了防止造成内存溢出,我们可以调用Session对象的两个方法来清理Session缓存:

evict()方法  : 剔除指定的一个持久化状态的缓存对象 

clear()方法 : 清除所有该session对象中的持久化状态的缓存对象 

Hibernate之缓存