Hibernate中一级缓存和二级缓存之间的区别

Hibernate支持两种类型的缓存,一种是第一级缓存,另一种是第二级缓存。 

一级缓存是会话级缓存,它始终与会话级对象关联。这种类型的缓存用于通过缓存对象的状态来最小化Db交互。 那不是在事务中完成每次修改之后更新,而是仅在事务结束时更新事务。

二级缓存是会话工厂级缓存,可在所有会话中使用。在运行事务时,它在会话工厂级之间加载对象,以便这些对象可用于整个应用程序,而不是绑定到单个对象用户。默认情况下,它在休眠状态是禁用的。 

序号一级缓存二级缓存

1

基本

一级缓存是会话级缓存,它始终与会话级对象关联

二级缓存是会话工厂级缓存,并且在所有会话中都可用

2

启用 

默认情况下启用。


默认情况下未启用。

3


可用性 

可用于会议 

在所有会话中都可用。

4

配置

无需额外配置 

我们必须决定使用  哪种并发策略,还需要配置缓存过期和物理缓存属性。