【问题标题】:What is second level cache in hibernate?什么是休眠中的二级缓存?
【发布时间】:2010-05-13 08:50:46
【问题描述】:

什么是hibernate的二级缓存?

【问题讨论】:

    标签: java hibernate orm second-level-cache


    【解决方案1】:

    Hibernate 带有三种不同的缓存:一级缓存、二级缓存和查询缓存。

    一级缓存是 Hibernate Session,用于在当前 Session(或工作单元)期间跟踪实体的状态。这是一个事务级缓存。

    二级缓存在不同的 Session 之间共享实体状态。这是一个 SessionFactory 级别的缓存。

    查询缓存用于缓存查询(及其参数)及其结果。

    推荐读物

    【讨论】:

      【解决方案2】:

      一级缓存默认启用并在会话范围内工作。二级缓存与一级缓存不同,可在会话工厂范围内全局使用。 因此,二级缓存是在会话工厂范围内创建的,并且可用于使用该特定会话工厂创建的所有会话。 这也意味着一旦会话工厂关闭,所有与之关联的缓存都会死掉,缓存管理器也会关闭。 每当休眠会话尝试加载实体时,它首先会在一级缓存中查找实体的缓存副本,如果一级缓存中没有缓存的实体,则在二级缓存中查找缓存的实体。

      【讨论】:

        猜你喜欢
        • 2010-10-20
        • 2010-10-29
        • 2017-07-05
        • 2011-07-08
        • 1970-01-01
        • 1970-01-01
        • 2019-04-02
        • 2023-03-03
        相关资源
        最近更新 更多