问题描述
在mysql中,根据官方文档和其他文档,
当IsolationLevel = ReadUncommitted 或ReadCommitted 或RepeatableRead 时,它使用Optimistic CC(带有MVCC),通常不需要太多锁。 在 Serializable 的情况下,我们将看到所有形式的锁,如 Read、Write、Range、Gap 等...
但是我最近在 Hibernate 中遇到了一个问题,当isolationLevel = RepeatableRead 时,它抛出了 LockAquisitionException。经过数小时的调试和分析行为,我发现我们正在插入引用父记录 (PrimaryKey) 的新行,其中 INNODB 锁定父记录(并且)另一个事务试图更新父记录并抛出 LockAquisitionException (在一些超时后) .
经过一些谷歌搜索后,我开始知道,如果隔离级别
有人可以提供有关锁的详细信息,无论隔离级别如何,mysql 都会自动采用简单的术语。这将有助于识别代码中的异常并进行更正。
就我而言,不会使用“for update”或“lock in share mode”执行查询。我只关心没有任何意图锁的普通 sql 查询。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)