1. 事务特性

1.1 原子性(Atomicity)事务是数据库的逻辑工作单位,事务中包括的诸操作要么全 做,要么全不做。

1.2 一致性(Consistency)事务执行的结果必须是使数据库从一个一致性状态变到另 一个一致性状态。一致性与原子性是                                                             密切相关的。

1.3 隔离性(Isolation)一个事务的执行不能被其他事务干扰。

1.4 持续性/永久性(Durability)一个事务一旦提交,它对数据库中数据的改变就应该 是永久性的。

2. 事务并发性

2.1 脏读:一个事务读到另一个事务未提交的更新数据。

2.2 不可重复读:一个事务执行两次查询,但第二次查询比第一次查询多出了一些数据

2.3 幻/虚读:一个事务两次读同一行数据,可是这两次读到的数据不一样

3. 事务的隔离级别

3.1.  Serializable:串行化。隔离级别最高

3.2.  Repeatable Read:可重复读。

3.3.  Read Committed:读已提交数据。

3.4.  Read Uncommitted:读未提交数据。隔离级别最差。

4.在项目中如何管理事务

4.1 业务开始之前打开事务,业务执行之后提交事务,执行过程中出现异常,回滚事务

4.2 在dao层操作数据库需要用到session对象,在service控制事务也是使用session 对象完成,我们要确保dao层和                              service 层使用的是同一个session对象

4.3 在hibernate中,确保使用同一个session的问题,hibernate已经帮我们解决了, 我们开发人员只需要调用                                           sessionfactory.getCurrentSession()方法即可获得与 当前线程绑定的session对象

Hibernate4:hibernate中的事务

4.3.1 调用getCurrentSession()方法必须配合主配置中的

Hibernate4:hibernate中的事务

4.3.2 通过getCurrentSession()方法获得的session对象,当事务提交时,session 会自动关闭,不能手动调用close()关闭                          session

Hibernate4:hibernate中的事务

Hibernate4:hibernate中的事务

相关文章:

  • 2021-09-26
  • 2022-12-23
  • 2021-12-08
  • 2021-09-05
  • 2021-06-25
  • 2022-12-23
  • 2021-06-19
猜你喜欢
  • 2021-05-14
  • 2022-12-23
  • 2022-12-23
  • 2021-10-25
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案