Hibernate缓存、锁

本文介绍了缓存的基本概念,包括一级缓存、二级缓存及分布式缓存的区别,并详细阐述了Hibernate框架中的延迟加载机制、悲观锁与乐观锁的实现方式,以及不同数据库隔离级别的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



什么是缓存

  • 缓存就是数据库在内存中的零时容器
  • 位于数据库与数据库访问层中间
  • ORM在查询数据时首先会根据自身的缓存管理策略,在缓存中查找相关的数据,如果发现所需的数据,则直接将此数据作为结果加以利用
  • 避免了数据库调用性能的开销
  • 相对内存操作而言,数据库调用是一个代价高昂的过程。

缓存分类

  • 一级缓存:即在当前事物范围内的数据缓存 - 就Hibernate来讲,(一级缓存)事物级缓存是基于Session的生命周期实现的,session一旦关闭,一级缓存就清除,一级缓存为hibernate自带的缓存,是必须的
  • 应用级(二级)缓存:即在某个应用中或应用中某个独立数据库访问子集中的共享缓存,此缓存可由多个事物共享、 *-在Hibernate中,应用级缓存由SessionFactory实现
  • 分布式缓存:即在多个应用实例,多个JVM间共享缓存策略。

延迟加载

  • 实体对象的延迟加载
  • 集合的延迟加载(一对多和多对多时,关联集合)
  • 属性的延迟加载(clob大数据类型时)
colb 存放大文本的类型
blob 存放二进制数据的类型

Hibernate的悲观和乐观锁

  • 多个用户肯能同时读取或更新一个数据
  • 需要一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,也就是所谓的“锁”,即给我们选定的目标数据上锁,使其无法被其他程序修改
  • 【悲观锁(Peaaimistic Locking)】
  • 【乐观锁(Optimistic Locking6wby)】

数据库的隔离级别

Read UnCommited没有提交,就能读到。比如发出insert,在没有提交时就能更新数据库。
  • 存在脏读,一个事物读取一行,另一个事物已经将该记录更新但没有提交
  • 如果一个事物已经写数据,另一个事物则不允许同时进行写操作
Read Commited提交读。提交之后,才可以更新数据库
  • 不存在脏读。 存在不可重复读
  • 如果一个用户读出是张三,另一个用户将该用户名改为李四,那么一个用户再读则是李四
  • 存在虚度,用户查询数据时,两次方寸内筒不一致,未提交的写事务将禁止其他事务进行操作。
Repeatable Read可重复读

读取的事物将禁止写事物,写事务则禁止任何其他事务不存在不可重复读,但不能避免虚读

Serializable可序列化读

事物只能一个接一个执行,不能并发执行。

悲观锁:

实现依赖于数据库的机制,在整个过程中,将数据锁定,其他任何用户不能对其读取和修改,一般适合于短事务,并发性不好

乐观锁

悲观锁保证操作独占性,性能开销巨大
乐观锁依靠数据版本记录机制实现
  • 为数据增加一个版本标识,增加一个version字段
  • 读取数据时,将版本号一同读出
  • 跟新时,版本号加一
  • 将提交数据的版本与数据库表对应记录的当前版本信息进行比对
  • 如果提交的数据版本号大于数据库表当前版本号,则予以更新,否则认为是过期数据。


#Hibernate实体关系映射
一对一有两种方式:
主键关联:从表的主键同时又是主表的外键。从表没有单独的外键。
外键关联:从表中存在外键列,关联主表的主键列。但外键列是不能重复的。
###cascade和inverse的区别
cascade表示级联操作,当主表记录做操作时,从表记录做相应的操作,维护是记录。
inverse表示控制反转。当属性设置为真时,表示由关联对象维护外键关系,当对象不做外键维护,维护的是外键。一般来说inverse设置在一方,外键由从表维护。


内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值