hibernate高级应用

hibernate高级应用

ID:36302098

大小:353.00 KB

页数:27页

时间:2019-05-08

hibernate高级应用_第1页
hibernate高级应用_第2页
hibernate高级应用_第3页
hibernate高级应用_第4页
hibernate高级应用_第5页
资源描述:

《hibernate高级应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Hibernate高级应用主讲人:杨云振Hibernate事务和并发处理Hibernate缓存策略批量处理延迟加载课程内容什么是事务?单个逻辑工作单元,它包含一系列的操作。事务的特性(ACID)原子性一致性隔离性持久性事务1.脏读取(DirtyReads)一个事务读取了另一个事务未提交的数据2.不可重复读(Non-repeatableReads)一个事务再次读取之前曾读过的数据时,发现该数据已经被另一个提交的事务修改3.虚读(幻读)一个事务重新执行一个查询,返回一套符合条件的记录,但这些记录中包含了因为其他最近提交的事务而产生的新记录数据操作过程引发的问题?1.脏读取(D

2、irtyReads)时间取款事务支票事务T1开始事务T2开始事务T3查询帐户余额1000元T4取出100元,把存款余额改成900元T5查询帐户余额900(脏读)T6回滚事务,余额变为1000元T7汇入100元,把余额更改为1000元T8提交事务2.不可重复读时间取款事务支票事务T1开始事务T2开始事务T3查询帐户余额1000元T4查询帐户余额1000元T5存入100元,把存款余额改成1100元T6存入100元,把存款余额改成1100元T7提交事务T8提交事务虚读(幻读)时间注册事务统计事务T1开始事务T2开始事务T3查询注册人数为100人T4新注册一个用户T5提交事务T6

3、再次查询,注册人数为101人T7弄不清楚到底是100人还是101人数据库事务管理隔离级别什么是事务的隔离级别?数据库通过某种机制,在多个并行的事务之间进行隔离,使每个事务在执行过程中保存独立.隔离等级脏读取不可重复读虚读ReadUncommitted可能可能可能ReadCommitted不可能可能可能RepeatableRead不可能不可能可能Serializable不可能不可能不可能从上到下严密程度递增,性能递减Hibernate是JDBC轻量级的封装,本身不具备事务的管理能力,在事务管理层委托给底层的JDBC或JTA进行事务的管理和调度。1.基于JDBC的事务管理Hi

4、bernate事务管理JDBC的事务是有Connection管理的,事务的周期依赖于Connection的生命周期。而Session依托于Connection实现的,事务局限与session的生命周期。提供了跨越session的事务管理能力。基于JTA的事务管理。Hibernate隔离级别的设置在hibernate的配置文中配置隔离级别4隔离级别与它们的代表数字如下隔离级别代表数字Read

5、uncommitted1Readcommitted2Repeatableread4Serializable8悲观锁(perssimisticlocking)在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现往往依靠数据库提供的锁机制。乐观锁(optimisticlocking)乐观锁并没有对任何操作加锁,它只是在事务更新记录时,对事务进行检查,看从上一次读取这条记录后,它是否被其他事务修改.Hibernate中锁机制悲观锁是解决事务并发的一种方法,悲观锁是在更新数据时把记录锁住,防止其他事务读写这个记录.Hibernate的加锁模式有LockMode.NONE(无锁机

6、制)LockMode.WRITE:当向数据库中插入或更新数据时,Hibernate会自动使用这种锁。LockMode.READ:Hibernate在读取记录时自动获取注:以上三种机制为Hibernate内部对数据的锁定机制,与数据库无关。LockMode.UPGRADE:利用数据库的forupdate子句加锁LockMode.UPGRADE_NOWAIT:Oralce的特定实现,利用oracle的forupdatenowait子句加锁悲观锁机制Hibernate提供了三种方法来检查数据是否发生了变化。1.使用version实现乐观锁2.使用时间戳实现乐观锁3.对比字段值实

7、现乐观锁其中已使用version的方法最为常用。步骤:1.首先为映射文件(xx.hbm.xml)中的class节点添加optimistic-lock属性2.在Id节点下添加version节点Hibernate中的乐观锁缓存是介于应用程序和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。