什么是休眠中的二级缓存?
问问题
7796 次
2 回答
40
Hibernate 带有三种不同的缓存:一级缓存、二级缓存和查询缓存。
第一级缓存是 Hibernate Session,用于在当前 Session(或工作单元)期间跟踪实体的状态。这是一个事务级缓存。
二级缓存在各个 Session 之间共享实体状态。这是一个 SessionFactory 级别的缓存。
查询缓存用于缓存查询(及其参数)及其结果。
推荐读数
于 2010-05-13T16:56:10.760 回答
3
一级缓存默认启用并在会话范围内工作。二级缓存与一级缓存不同,可在会话工厂范围内全局使用。因此,二级缓存是在会话工厂范围内创建的,并且可用于使用该特定会话工厂创建的所有会话。这也意味着一旦会话工厂关闭,与之关联的所有缓存都会死掉,缓存管理器也会关闭。每当休眠会话尝试加载实体时,它首先在一级缓存中查找实体的缓存副本,如果一级缓存中没有缓存的实体,则在二级缓存中查找缓存的实体。
于 2017-05-19T08:52:22.510 回答