hibernate操作mysql时抛出Lock wait timeout exceeded; try restarting transaction异常

Lock wait timeout exceeded; try restarting transaction是锁等待超时。是当前事务在等待其它事务释放锁资源造成的。

解决方法:

在mysql查询中执行以下指令

select * from information_schema.innodb_trx

结果如图:

hibernate操作mysql时抛出Lock wait timeout exceeded; try restarting transaction异常

找出与其他几个有参数不同的线程,找出他的线程号mysql_thread_id

执行命令kill +线程号即可解决。

我报这个错的原因是因为用hibernate执行了delete操作,却一直没有commit事务,后面再执行delete操作时就会抛这个异常。就是事务在等待给某个表加锁时超时,估计是表正被另的进程锁住一直没有释放。
————————————————
版权声明:本文为****博主「藤原豆腐店-」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/wanderlustLee/article/details/79235005