Hibernate 一级缓存
1.Hibernate一级缓存又称为”Session缓存”,”会话级缓存”。
2.通过Session在数据库查询实体时会把实体在内存中存储起来,下一次查询同一个实体时将不再从数据库获取,而从内存中获取,每个实体都有一个唯一的OID,这就是缓存。
3.一级缓存的生命周期和Session相同,Session销毁,它也销毁。
4.一级缓存中的数据的可适用范围在当前的session会话之内,若当前session改变,则不再是从缓存中获取数据。
Hibernate一级缓存API
一级缓存无法取消,用两个方法管理
evict():将某个对象从session的缓存中清除。
clear():用于在一级缓存中的所有对象全部清除。
Hibernate二级缓存(sessionFactory缓存)
解决问题:
数据在一个session中缓存,我们希望在其他session中能直接使用,而不用再次缓存。二级缓存是在每个session中都共用的缓存。
二级缓存配置步骤
添加二级缓存对应的jar包。
在Hibernate的配置文件中添加Provider类描述。
添加二级缓存的属性配置文件ehcache.xml。
在需要被缓存的表所对应的映射文件中添加<cache/>
标签