hibernate--事物机制(面试)

来源:互联网 发布:商城数据统计公式 编辑:程序博客网 时间:2024/06/05 19:25
事务:要么都完成,要么都不完成:

特性:ACID:原子性(atonic)、一致性(consistency)、独立性(Itegrity)、持久性(durability)

事务并发控制

1)幻读:插入与更新的问题,当读取数据之后,另一事务又向数据库插入一条记录,导致两次读取结果不一致

2)脏读:读了另一个事务还未提交的数据。

3)不可重复读:前后读取数据不一致。







-----------------------------------------------------------------

数据库的事务隔离机制:

查询文档,java.sql.Connection:


----------------------------------------------------

hibernate的事务隔离级别:

hibernate.connection.isolation ,1、2、4、8


当设置了数据库的事务隔离机制为read-commited之后,仍然无法处理不可重复读和幻读的问题,因此需要设置悲观锁和乐观锁机制。

悲观锁:在数据库中设置封锁机制

乐观锁:在数据库表中设置一个名叫version的版本字段,每次操作时都检查一下是否被另一个事务更新,是则抛出异常



------------------------------------------------------------------------------------------------------------

hibernate总结:



-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Spring 总结: