Hibernate中核心缓存接口类如何详细解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计530个文字,预计阅读时间需要3分钟。
Hibernate缓存概述:一级缓存(Session级缓存),也称为事务级缓存;二级缓存(SessionFactory级缓存),也称为应用级缓存;三级缓存(查询缓存),也称为查询缓存。区别:一级缓存的生命周期和Session的生命周期相同。
Hibernate缓存概述
一级缓存(session级别缓存)
也叫事务级别的缓存
二级缓存(sessionFactory缓存)
也叫应用级缓存
三级缓存(查询缓存)
区别:
-
一级缓存的生命周期和session的生命周期保持一致,hibernate默认就启用了一级缓存,不能将其关闭,可以通过session.clear()和session.evict(object)来管理一级缓存。其中get,load,iterate都会使用一级缓存,一级缓存缓存的是对象。一级缓存只查询主键时有用。
-
二级缓存的生命周期和sessionFactory的生命周期保持一致,可以跨session,被多个session共享,可以手动开启并指定缓存插件如ehcache,oscache等。二级缓存也只能缓存对象。二级缓存只查询主键时有用。
-
三级缓存也叫查询缓存,查询缓存依赖二级缓存,所以在使用查询缓存之前配置好二级缓存。
本文共计530个文字,预计阅读时间需要3分钟。
Hibernate缓存概述:一级缓存(Session级缓存),也称为事务级缓存;二级缓存(SessionFactory级缓存),也称为应用级缓存;三级缓存(查询缓存),也称为查询缓存。区别:一级缓存的生命周期和Session的生命周期相同。
Hibernate缓存概述
一级缓存(session级别缓存)
也叫事务级别的缓存
二级缓存(sessionFactory缓存)
也叫应用级缓存
三级缓存(查询缓存)
区别:
-
一级缓存的生命周期和session的生命周期保持一致,hibernate默认就启用了一级缓存,不能将其关闭,可以通过session.clear()和session.evict(object)来管理一级缓存。其中get,load,iterate都会使用一级缓存,一级缓存缓存的是对象。一级缓存只查询主键时有用。
-
二级缓存的生命周期和sessionFactory的生命周期保持一致,可以跨session,被多个session共享,可以手动开启并指定缓存插件如ehcache,oscache等。二级缓存也只能缓存对象。二级缓存只查询主键时有用。
-
三级缓存也叫查询缓存,查询缓存依赖二级缓存,所以在使用查询缓存之前配置好二级缓存。

