知识大全 如何使用Hibernate来管理事务
Posted 操作
篇首语:常识很少会把我们引入歧途。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何使用Hibernate来管理事务相关的知识,希望对你有一定的参考价值。
如何使用Hibernate来管理事务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在数据库应用程序中最基本的操作是CRUD(创建/读取/更新/删除) 这 个操作构成了数据库应用程序的基石 在单机时代 一个数据库只由一个应用程序使用 这样CRUD操作并不会带来什么负面影响 但当进入网络时代后 这一切都发生了改变 由于网络数据库程序一般是由多个客户端同时操作一个数据库 因此 传统的CRUD操作将变得不再安全 因此 这个问题将引出本文的中心内容 事务 通过事务可以使传统的CRUD操作适应网络数据库应用
本文分为三个部分 第一部分讨论了Hibernate如何管理事务和会话 第二部分描述了Hibernate用于管理事务和会话的核心API 在第三部分将举一个如何应用会话和事务的例子 并讨论了ThreadLocal变量
Hibernate中的会话和事务
所谓会话 就是一个客户端从登录服务器开始 到登出服务器为止 在这期间关于客户端和服务器之间的所有活动 一个会话中可包含一个或多个事务 每一个事务是一原子操作 这个原子操作中可以包含多个操作 但这些操作是一个整体 要么都成功 要么都失败 在讨论Hibernate的会话和事务之前 让我们先来了解一下事务在底层是如何工作的 在Java中的操作数据库一般是和JDBC直接打交道 而JDBC则是直接通过Socket和数据库打交道 我们所说的底层实际上就是指JDBC和数据库层
首先 让我们来看看数据库事务 数据库的操作由很多CRUD操作集合组成 而每一个集合就是数据库的一个事务 一个事务由begin transaction开始 最后以mit或rollback结束 这两个事务结束语保证了这一组CRUD操作要么都成功执行 要么回到执行前的状态 换句话说 这一组CRUD操作只要有一条语句执行失败 整个组都将回滚 这么做是为了保证数据的完整性
如果事务中只有一个操作 那么事务是否提交 只依赖于这个操作的成功或失败 如一条INSERT语句 只有在这条语句成功执行后 数据才被真正写到数据库中
现在让我们来看看事务中包含多条CRUD语句的情况 如包含一条UPDATE语句和二条DELETE语句 在这种情况下 不管这三条语句哪一条执行失败 整个事务都将回滚
cha138/Article/program/Java/ky/201311/28145相关参考
通过以上的介绍可以看出hibernate主要从以下几个方面来优化查询性能 降低访问数据库的频率减少select语句的数目实现手段有使用迫切左外连接或迫切内连接对延迟检索或立即检索设置批量检索数目
事务概述 事务就是指作为单个逻辑工作单元执行的一组数据操作这些操作要么必须全部成功要么必须全部失败以保证数据的一致性和完整性事务具有ACID属性 原子性自然界最小的事务的内容要么都做要么都不做
Hibernate基于JDBC的事务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibern
Hibernate基于JDBC的事务[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hib
Hibernate基于JDBC的事务[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Jav
Hibernate基于JDBC的事务[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Jav
Hibernate基于JDBC的事务[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这也就
Hibernate基于JDBC的事务[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 实际上
在Spring中配置Hibernate事务(图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在Spring中配置Hibernate的事务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文