首页
学习
活动
专区
圈层
工具
发布

Hibernate 的一级缓存

什么是一级缓存:

  • Hibernate创建每个Session对象时,都会给该Session分配一块独立的缓存区,用于存放该Session查询出来的对象,这个分配给Session的缓存区称之为一级缓存。也叫作Session级缓存。

为什么要使用一级缓存:

  • Session取数据时,会优先向缓存区取数据,如果存在数据则直接返回,不存在才会去数据库查询,从而降低了数据库访问次数,提升了代码运行效率。

如何使用一级缓存:

  • 一级缓存是默认开启的,在使用Hibernate的API进行查询时会自动使用。

一级缓存的规则:

  • 一级缓存 是Session独享的,每个Session不能访问其他Session的缓存区。
  • Session的save 、update 、delete 操作会触发缓存更新。

一级缓存的管理:

  • session.evict(obj); 将obj从一级缓存中移除。
  • session.clear(); 清除一级缓存中所有的obj。
  • session.close(); 关闭Session,释放缓存空间。
举报
领券