时间:2021-07-01 10:21:17 帮助过:467人阅读
在对数据进行插入更新的时候遇到一个问题,做了一个事务:
@Transaction
public void insertOrUpdate(entity){
Object o = search(entity);
if(o!=null)
update(entity);
else
insert(entity);
}
上面的伪代码在非并发态,是正常的。但是在并发的时候就会出现插入多条同样的数据,如果调高隔离级别进行控制,就会报:
Deadlock found when trying to get lock; try restarting transaction
求解决方案