Hibernate支持两种类型的缓存,一种是第一级缓存,另一种是第二级缓存。
一级缓存是会话级缓存,它始终与会话级对象关联。这种类型的缓存用于通过缓存对象的状态来最小化Db交互。 那不是在事务中完成每次修改之后更新,而是仅在事务结束时更新事务。
二级缓存是会话工厂级缓存,可在所有会话中使用。在运行事务时,它在会话工厂级之间加载对象,以便这些对象可用于整个应用程序,而不是绑定到单个对象用户。默认情况下,它在休眠状态是禁用的。
序号 | 键 | 一级缓存 | 二级缓存 |
---|---|---|---|
1 | 基本 | 一级缓存是会话级缓存,它始终与会话级对象关联 | 二级缓存是会话工厂级缓存,并且在所有会话中都可用 |
2 | 启用 | 默认情况下启用。 | 默认情况下未启用。 |
3 | 可用性 | 可用于会议 | 在所有会话中都可用。 |
4 | 配置 | 无需额外配置 | 我们必须决定使用 哪种并发策略,还需要配置缓存过期和物理缓存属性。 |