首页 » 网站推广 » admin1233php技巧_hibernate 三种状态一级缓存快照加载策略并发控制

admin1233php技巧_hibernate 三种状态一级缓存快照加载策略并发控制

访客 2024-11-15 0

扫一扫用手机浏览

文章目录 [+]

1.1 临时状态

1.2 持久状态

admin1233php技巧_hibernate 三种状态一级缓存快照加载策略并发控制

1.3 游离状态

admin1233php技巧_hibernate 三种状态一级缓存快照加载策略并发控制
(图片来自网络侵删)

一级缓存、快照

通过调用hibernatesession接口的get方法后,user工具被加载为持久化工具

同时加入到hibernate的session一级缓存中,并留下一个快照

u = {1 ww 20 2018-5-3 abcd} --> u = {1 qq 17 null xyz}

u’ = {1 ww 20 2018-5-3 abcd}

加载策略

3.1 立即加载

get方法(立即加载)

两种情形:

1.当前user工具属性未修正,则不实行update

2.当前user工具属性已修正,与存入hibernate一级缓存中的快照工具进行比拟

修正前属性:user=[id=4,username=admin,password=1233]

修正后属性:user=[id=4,username=root,password=0000]

当实行commit()时,Hibernate同时会清理session的一级 缓存(flush),也便是将

堆内存中的数据与快照中的数据进行比拟,如果不一致,则会实行更新(update)

操作,若相同,则不实行update。

4、一个方法内先后实行两个事务,此时用的是一个session,会利用hibernate的一级缓存机制。

3.2 延迟加载(

代理工具

存单

LazyInitializationException

利用load方法表示延迟加载

把稳:oid(工具标识符)

1,通过调用hibernate的session接口的load方法后返回一个代理工具

2.代理工具中的只有oid属性有值

3,在访问工具的非oid属性:代理工具将会实行初始化操作

实行代理工具初始化操作,由于调用了user工具的tostring方法,即访问了非oid属性

两种情形:

1.关闭session访问代理工具的非oid属性报错,延迟加载非常LazyInitializationException

2.不关闭session,访问代理工具的非oid属性,实行代理工具的初始化操作

并发掌握

version=2 2

A:

update t_student set sname=‘zs’, version=version+1

where sid = 8 and version=1

B:

update t_student set sname=‘ls’, version=version+1

where sid = 8 and version=2

标签:

相关文章

介绍直播新纪元,轻松进入直播的五大步骤

随着互联网技术的飞速发展,直播行业在我国逐渐崛起,越来越多的人选择通过直播这一新兴媒介展示自己、分享生活、传递价值。对于许多新手来...

网站推广 2025-01-03 阅读0 评论0

介绍相机美颜原理,科技与美学的完美结合

随着科技的发展,智能手机的摄像头功能日益强大,美颜相机成为了许多人拍照的首选。美颜相机不仅满足了人们对于美的追求,更在视觉上给人带...

网站推广 2025-01-03 阅读0 评论0

介绍磁铁的制造,科学与艺术的完美结合

磁铁,一种神秘的物质,自古以来就吸引了无数人的目光。它不仅具有独特的磁性,还能在工业、医疗、科研等领域发挥重要作用。磁铁是如何制造...

网站推广 2025-01-03 阅读0 评论0

介绍电瓶激活方法,让电池焕发新生

随着科技的不断发展,电动汽车逐渐成为人们出行的首选。而电瓶作为电动汽车的核心部件,其性能直接影响着车辆的续航里程和行驶体验。新购买...

网站推广 2025-01-03 阅读0 评论0