事务

2018-09-12  本文已影响0人  Mango_lxh

1、几个概念:

Read unommited 未提交读:即没有提交就能得到(发出insert语句,但没有提交(未执行commit();),数据库端就能得到数据,这种情况使用很少。
Read commited 提交读:即提交后数据库才能得到,是Oracle的默认隔离级别(可加悲观锁,避免不可重复读)
Repeatable Read 可重复读:是mysql的默认隔离级别
Serialiazble序列化读 :即串行,并发性不好,使用很少
脏读:未提交即可从数据库读出
不可重复读:在读出数据时,别人修改了数据,再重复读时不是原有的数据,出现错误(解决方法:加悲观锁)
幻读:当读出5条数据时,别人又增加了数据,再重复读时,出现了多余5条的数据。

image.png

2、flush

flus作用

(1)清理缓存(清空session临时集合中的数据)
(2)执行sql语句
(3)给map里的existsInDatebase(是否存入数据库)设定标记

session在什么情况下执行flush

hibernate按照save(insert),update、delete顺序提交相关

上一篇 下一篇

猜你喜欢

热点阅读