打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Hibernate缓存机制以及一级缓存和二级缓存的作用

java对象的属性(通常是一些集合类型的属性 )占用的内存空间。如果对象的占用的内存很大就称为重量级的对象。如果对象的内存小就称为轻量级的对象。

Session 的缓存被称为hibernate的第一级缓存。SessionFactory的外置缓存称为hibernate 的二级缓存。这两个缓存都位于持久层,它们存放的都是数据库数据的拷贝。SessionFactory的内置缓存 存放元数据和预定义SQL,   SessionFactory的内置缓存是只读缓存。

Session 缓存的三大作用:

1,减少数据库的访问频率,提高访问性能。

2,保证缓存中的对象与数据库同步,位于缓存中的对象称为持久化对象。

3,当持久化对象之间存在关联时,Session 保证不出现对象图的死锁。

Session 如何判断持久化对象的状态的改变呢?

Session 加载对象后会为对象值类型的属性复制一份快照。当Session 清理缓存时,比较当前对象和它的快照就可以知道那些属性发生了变化。

Session 什么时候清理缓存?

1,commit() 方法被调用时

2,查询时会清理缓存,保证查询结果能反映对象的最新状态。

3,显示的调用session 的 flush方法。

session 清理缓存的特例:

当对象使用 native 生成器 时 会立刻清理缓存向数据库中插入记录。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Hibernate的优缺点
hibernate实体对象的三种状态:自由状态,持久状态,游离状态.
在Hibernate应用中如何处理批量更新和批量删除?
全面讲解Hibernate二级缓存
Hibernate 缓存机制
Hibernate之缓存的原理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服