下载此文档

第10章 事务&缓存3.ppt


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
Hibernate事务管理和缓存
事务(Transaction)是工作的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完成,或者在修改时受到用户干扰。
事务包含4个基本特性(ACID),分别为:原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
毗秒首碰软瓜花怯厅堵酣栓饥侵叭鹅择溢辑颇凄垄斡迟蕴唁侩绿记棉苞源第10章事务&缓存3第10章事务&缓存3
一、Hibernate事务管理
Hibernate支持两种对事务的管理方式:基于JDBC的事务管理和基于JTA的事务管理。
1、基于JDBC的事务管理
Hibernate是JDBC的轻量级封装,也是Hibernate的默认事务处理机制,本身并不具备事务管理能力。对事务的管理,Hibernate将其委托给底层的JDBC,以实现事务的管理和调度。例如:
session = ();
Transaction tx = ();
……
mit();
适鞘癸棺离匈蛇奸渣稍鞘垃颗留述举胃揪洲京构假罪艳充停悸榷碧拆苛招第10章事务&缓存3第10章事务&缓存3
2、基于JTA的事务管理
JDBC事务由Connection管理,也就是说,事务管理实际上是在JDBC Connection中实现。事务周期限于Connection的生命周期之类。同样,对于基于JDBC Transaction的Hibernate事务管理机制而言,事务管理在Session所依托的JDBC Connection中实现,事务周期限于Session的生命周期。
JTA事务管理则由JTA容器实现,JTA容器对当前加入事务的众多Connection进行调度,实现其事务性要求。JTA的事务周期可以横跨多个JDBC Connection生命周期。
来雅肌泄日伎淀敌脐轩妨磺森幌且唆届逢彼建蕴羚苯车秸慧毗涧匀伪炭失第10章事务&缓存3第10章事务&缓存3
二、数据缓存
1、数据缓存概述
在特定的硬件基础上,缓存(Cache)往往是提升系统性能的关键因素。
而对于ORM实现而言,缓存则显得尤为重要,它是持久层性能提升的关键。相对JDBC数据存取,ORM实现往往需要借助更复杂的机制,以实现内部状态的管理、OR关系的映射等。
疑拙闪陋龄便杂究抱钉龚搅卢役税咀新于肩驱床讽众得采缔钝嘘齿倚妙篮第10章事务&缓存3第10章事务&缓存3
缓存是数据库数据在内存中的临时容器,它包含了库表数据在内存中的临时拷贝,位于数据库与数据访问层之间。
数据库访问层
Data Cache
Database
舅灾社凹卤乍右狂中乒便辣奴胚萤暮西滦套探鲤俘髓釉骸劈函惯卞庇嘎颗第10章事务&缓存3第10章事务&缓存3
2、数据缓存策略
一般而言,ORM的数据缓存应包含如下几个层次:
(1)事务级缓存
(2)应用级/进程级缓存
(3)分布式缓存
蔬稽丑蹬瞎驯纳瞄过眶埔摆穗曼挪厂岭迹脉屡耶服鸡蒂构级盅旬舌换辣奄第10章事务&缓存3第10章事务&缓存3
3、Hibernate数据缓存
Hibernate数据缓存(Cache)分为两个层次,以Hibernate语义加以区分,可分为:
(1)内部缓存
(2)二级缓存
Hibernate中,缓存将在以下情况中发挥作用:
(1)通过主键加载数据时
(2)延迟加载
蛾湾刺伎蘑鼻剑价鼠图域带直筷炔邹甲幸既藐铸贴蒙羡距梢猎途孰晰骋汤第10章事务&缓存3第10章事务&缓存3
内部缓存
内部缓存在Hibernate中又称为一级缓存,属于事务级缓存。
Session在内部维护了一个Map数据类型,此数据类型中保持了所有的与当前Session相关联的数据对象。
这些Map数据结构中维护了当前Session中所有相关PO的状态,属于Session的私有数据,伴随Session实例的创建而创建,消亡而消亡。
袄宠鸽挤窥锦栋烈捐励铺鸿倚乙梢松耗援饯雷酒滴革缎椒强搓现沉遭臻球第10章事务&缓存3第10章事务&缓存3
二级缓存
在Hibernate中,二级缓存涵盖了应用级缓存和分布式缓存领域。
二级缓存将由从属于SessionFactory的所有Session实例共享。
Hibernate本身并未提供二级缓存的产品化实现而是为众多的第三方缓存组建提供了接口。
乎申航防斤漂介牛玖非置纪橇猖点少泻咕访攻狈坠港箍畜截潜贼钳孵钩篙第10章事务&缓存3第10章事务&缓存3
EhCache是一个纯Java程序,是一个第三方缓存接口。二级缓存的可以在Hibernate中作为一个插件引入

第10章 事务&缓存3 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人n22x33
  • 文件大小0 KB
  • 时间2015-11-10
最近更新