hibernate之管理对象的三种状态及一级缓存和快照(面试题)及加载策略和并发控制

转载请标明出处:https://blog.csdn.net/men_ma/article/details/106847165.
本文出自 不怕报错 就怕不报错的小猿猿 的博客

1.对象的三种状态(hibernate管理的对象)

在这里插入图片描述
根据这张图可以参考博主上篇的博客,增删改查功能他们的逻辑与这三种状态有很多的联系
链接: hibernate框架入门(增删改查).

1.1 临时状态

1.2 持久状态

1.3 游离状态

2.一级缓存、快照(面试题)

2.1 一级缓存的概念

博主大白话:比如ajax的异步刷新,局部刷新,可能会分块去操作,他中间有三层,数据库,中间的ajax,和前台页面,当前台页面往数据库提交请求时候,会通过我们ajax,ajax会去访问历史原有的数据,然后把历史原有的数据和数据库中的数据进行比较,如果数据没有发生错误,没有发生更新和改变,它就会把这个数据传递到页面,如果发生了改变,它就把没改变的那一部分先传递 给页面,自己再去查最新的,然后更新自己再回来,那么中间存数据的那个地方,我们就称之为缓存,user=session.get(User.class,user.getId());此时的一级缓存就相当于session,实际上是根据ID去数据库中查询,查询出来的对象放到session中保存

2.2 快照的概念

博主大白话:在大多数的时候,在某个特殊的时间段,我们会给自己留下一些影像,比如拿出我们的手机给自己拍了照,过了几秒钟后,现在这个人和照片上的人是一模一样的吗,不可能,照片上的只是某一时间片的记录,那么在这里的快照是针对数据库的某一时间片的记录 ,比如这一行代码:User user=session.get(User.class,user.getId());,可以把快照理解为一个"副本"

3.加载策略

3.1 立即加载

3.2 延迟加载

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值