锁的理解A,B两个service都注入了事物。(1)A向数据库的一张表插入了一条记录,service方法体并没有走完,此时,
锁的理解
A,B两个service都注入了事物。
(1)A向数据库的一张表插入了一条记录,service方法体并没有走完,此时,B也向这张表插入相同的记录,B会阻塞。直到A的方法体走完,事物提交,锁才释放,这时B会检测到主键冲突,报错。
(2)A更新数据库的一张表的一条记录,A没有走完,此时B也来更新这条记录,B会阻塞,直到A的方法体走完,事物提交,锁才释放,这时B才会获得锁继续走下去。
(3)A更新数据库的一张表的一条记录,B更新这张表的其他记录,不会阻塞
(4)A插入一条记录,B插入不同的记录,不会阻塞
(5)查询不会加锁
