Hibernate的一级缓存和二级缓存分别是什么

 我来答
a11e90
推荐于2017-09-14 · 知道合伙人软件行家
a11e90
知道合伙人软件行家
采纳数:473 获赞数:1702
qq交流群:208779755 博客:https://my.oschina.net/haitaohu

向TA提问 私信TA
展开全部
Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中
SessionFactory的缓存又可以分为两类:内置缓存和外置缓存。Session的缓
存是内置的,不能被卸载,也被称为Hibernate的第一级缓存。
SessionFactory的内置缓存和Session的缓存在实现方式上比较相似,前者是
SessionFactory对象的一些集合属性包含的数据,后者是指Session的一些集
合属性包含的数据。SessionFactory的内置缓存中存放了映射元数据和预定义
SQL语句,映射元数据是映射文件中数据的拷贝,而预定义SQL语句是在
Hibernate初始化阶段根据映射元数据推导出来,SessionFactory的内置缓存
是只读的,应用程序不能修改缓存中的映射元数据和预定义SQL语句,因此
SessionFactory不需要进行内置缓存与映射文件的同步。SessionFactory的
外置缓存是一个可配置的插件。在默认情况下,SessionFactory不会启用这个
插件。外置缓存的数据是数据库数据的拷贝,外置缓存的介质可以是内存或者硬
盘。SessionFactory的外置缓存也被称为Hibernate的第二级缓存。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
亵渎挚爱
2012-11-28 · TA获得超过260个赞
知道小有建树答主
回答量:460
采纳率:0%
帮助的人:163万
展开全部
一级缓存很短和 session 的生命周期一致,一级缓存也叫 session 级的缓存或 事务级缓存

二级缓存 Hibernate 的 Session 在事务级别进行持久化数据的缓存操作。

hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。
二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等,需要设置hibernate.cache.provider_class
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式