休眠中的第二级缓存是什么?
2022-09-01 14:21:37
什么是休眠状态下的第二级缓存?
休眠有三种不同的缓存:第一级,第二级和查询缓存。
第一级缓存是休眠会话,用于跟踪当前会话(或工作单元)期间实体的状态。这是事务级缓存。
第二级缓存在各个会话之间共享实体状态。这是一个会话工厂级别的缓存。
查询缓存用于缓存查询(及其参数)及其结果。
默认情况下,第一级缓存处于启用状态,并在会话范围内工作。第二级缓存与第一级缓存不同,后者可在会话工厂范围内全局使用。因此,第二级缓存是在会话工厂作用域中创建的,并且可以在使用该特定会话工厂创建的所有会话中使用。这也意味着一旦会话工厂关闭,与之关联的所有缓存都会死亡,缓存管理器也会关闭。每当休眠会话尝试加载实体时,它首先在第一级缓存中查找实体的缓存副本,如果第一级缓存中没有缓存的实体,则会查找第二级缓存中是否有缓存的实体。