J2EE企业级项目开发-1期 Hibernate事务应用 任务2-6 Hibernate事务.pptVIP

J2EE企业级项目开发-1期 Hibernate事务应用 任务2-6 Hibernate事务.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息技术分院·软件技术专业 信息技术分院·软件技术专业 信息技术分院·软件技术专业 信息技术分院·软件技术专业 JavaEE企业级项目开发 项目二 使用Struts2+Hibernate框架模拟实现BBS管理系统 任务6 Hibernate事务 目录 1 知识目标 2 技能目标 3 任务实施 4 拓展任务 5 任务总结 知识目标 实体对象生命周期 事务的概念和和分类 掌握事务的ACID属性 掌握使用事务的步骤 理解四个并发问题及解决方案 技能目标 理解事务的概念 充分理解并发控制 掌握事务的使用 实体对象生命周期 实体对象的3种状态 自由状态(Transient) 即实体对象在内存中的自由存在,它与数据库中的记录无关。 持久状态(Persistent) 即实体对象在数据库中具有对应的纪录,并拥有一个持久化标识。 游离状态(Detached) 处于持久状态的对象,其对应的Session实例关闭之后,那么,此对象就处于游离状态。即对象与纪录不能同步 实体对象状态的转换 事务管理 事务是一个逻辑工作单元,它包括一系列的操作。事务包含4个基本特性,也就是我们常说的ACID,其中包括: Atomic(原子性) 事务中包含的操作被看作一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。 Consistency(一致性) 一致性意味着,只有合法的数据可以被写入数据库,如果数据有任何违例(比如数据与字段类型不符),则事务应该将其回滚到最初状态。 Isolation(隔离性) 事务允许多个用户对同一个数据的并发访问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立。 Durability(持久性) 事务结束后,事务处理的结果必须能够得到固化(保存在可掉电存储器上)。 Hibernate的事务管理 User7 u1 = new User7(); User7 u2 = new User7(); u1.setName(zs); u1.setAccount(1000); u2.setName(abcdefg); u2.setAccount(2000); Session s = HibernateSessionFactory.getSession(); Transaction t = s.beginTransaction(); try { s.save(u1); s.save(u2); mit(); } catch (Exception ex) { ex.printStackTrace(); t.rollback(); } HibernateSessionFactory.closeSession(); 事务管理的隔离等级 事务隔离指的是,数据库(或其他事务系统)通过某种机制,在并行的多个事务之间进行分隔,使每个事务在其执行过程中保持独立(如同当前只有此事务单独运行)。 Hibernate中的事务隔依赖于底层数据库提供的事务隔离机制,因此,对数据库事务隔离机制的理解在基于Hibernate实现的持久层中同样适用。 首先我们来看数据操作过程中可能出现的3种不确定情况: 脏读取 一个事务读取了另一个并行事务未提交的数据。 不可重复读取 一个事务再次读取之前曾读取过的数据时,发现该数据已经被另一个已提交的事务修改。 虚读 一个事务重新执行一个查询,返回一套符合查询条件的记录,但这些记录中包含了因为其他最近提交的事务而产生的新记录。 事务管理的隔离等级 隔离等级 脏读取 不可重复读取 虚读 Read Uncommitted 可能 可能 可能 Read Committed 不可能 可能 可能 Repeatable Read 不可能 不可能 可能 Serializable 不可能 不可能 不可能 为了避免上面3种情况的出现,标准SQL规范中,定义了如下4个事务隔离等级: 这4种事务隔离等级的严密程度由前往后依次递增,同时,其性能也依次下降。因此,无论实际情况如何,都使用最高级事务隔离的做法并不可取。我们必须根据应用的具体情况进行取舍,以获得数据合法性与系统性能上的最佳平衡。 在Hibernate中设置事务管理隔离等级: property name=connection.isolation2/property 任务实施 操作1:演示搭建Hibernate框架的基本开发环境 操作2:演示创建实体类 操作3:演示JDBC事务的使用 操作4:演示创建客户端进行测试 任务总结 掌握事务的ACID特性 掌握事务的开始和提交操作 掌握JDBC事务的应用 谢 谢 * * * * * 信息技术分院·软件技术专业 信息技术分院·软件技术专业 信息技术分院·软件技术专业 信息技术分院·软件技术专业 * * * *

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
文档贡献者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档