前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java EE实用教程笔记----(10)第十章 Hibernate高级特性

Java EE实用教程笔记----(10)第十章 Hibernate高级特性

作者头像
浩Coding
发布2019-07-03 11:30:08
3520
发布2019-07-03 11:30:08
举报
文章被收录于专栏:浩Coding浩Coding

本章讲的是Hibernate高级特性,其实Hibernate就是对JDBC的轻量级封装,所以Hibernate的高级特性,就是数据库有关知识,对这方面比较熟悉的小伙伴,可以选择性的跳过。

第一部分 Hibernate事务管理

事务有4个重要特性:

综上,一个完整的应用Hibernate事务的实例如下:

第二部分 Hibernate并发处理

但是在实际应用中,事务隔离级别越高,对并发性能的影响必然越大。对于大多数程序,可以优先考虑把隔离级别设置为“读已提交数据”,能够避免脏读,且具有较好的并发性能。

第三部分 Hibernate的拦截器

运行结果图:

至此本篇介绍Hibernate高级特性文章结束,下篇我们开讲第11章 Hibernate与Struts 2整合应用案例,敬请期待!(✿◡‿◡)

数据库相关知识补充:

数据库必须具备的四个特性

1:原子性:事务包含的所有操作要么全部成功,要么全部失败回滚;成功必须要完全应用到数据库,失败则不能对数据库产生影响;

2:一致性:事务执行前和执行后必须处于一致性状态,

例:用户A和用户B的前加起来一共是5000; 无论AB用户之间是如何相互转换的,事务结束后两个用户的钱加起来还是5000,这就是事务的一致性。

3:隔离性:当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不被其他事务的操作所干扰,多个并发事务之间要相互隔离;

4:持久性:一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便在数据库系统遇到故障的情况下也不会丢失事物的操作。

数据库提供的四种隔离级别: 01:Read uncommitted(读未提交):最低级别,任何情况都会发生。 02:Read Committed(读已提交):可避免脏读的发生。 03:Repeatable read(可重复读):可避免脏读、不可重复读的发生。 04:Serializable(串行化):避免脏读、不可重复读,幻读的发生。

注: 四种隔离级别最高的是Seralizable级别,最低的是Read uncommitted级别; 级别越高,执行效率就越低; 隔离级别的设置只对当前链接有效,对JDBC操作数据库来说,一个Connection对象相当于一个链接,只对该Connection对象设置的隔离级别只对该connection对象有效,与其它链接connection对象无关。

01:Mysql的默认隔离级别是:可重复读:Repeatable read;

02:oracle数据库中,只支持seralizable(串行化)级别和Read committed();默认的是Read committed级别;

Serializabale:最高的事务隔离级别,代价花费最高,性能很低,很少使用,在此级别下,事务顺序执行,避免上述产生的情况。

本章实例源代码GitEE地址:

https://gitee.com/jahero/bookManage.git

数据库相关:

https://blog.csdn.net/qq_41866572/article/details/81326922

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浩Coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库必须具备的四个特性
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档