java – 如何避免锁等待超时超出异常?

前端之家收集整理的这篇文章主要介绍了java – 如何避免锁等待超时超出异常?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
java.sql.sqlException: Lock wait timeout exceeded; try restarting tra
nsaction at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:1055)
        at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:956)
        at com.MysqL.jdbc.MysqLIO.checkErrorPacket(MysqLIO.java:3558)
        at com.MysqL.jdbc.MysqLIO.checkErrorPacket(MysqLIO.java:3490)
        at com.MysqL.jdbc.MysqLIO.sendCommand(MysqLIO.java:1959)
        at com.MysqL.jdbc.MysqLIO.sqlQueryDirect(MysqLIO.java:2109)
        at com.MysqL.jdbc.ConnectionImpl.execsql(ConnectionImpl.java:2648)
        at com.MysqL.jdbc.PreparedStatement.executeInternal(PreparedStatement.ja
va:2077)
        at com.MysqL.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:
2228)
        at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:
208)
        at org.hibernate.loader.Loader.getResultSet(Loader.java:1812)
        at org.hibernate.loader.Loader.doQuery(Loader.java:697)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lo
ader.java:259)
        at org.hibernate.loader.Loader.loadEntity(Loader.java:1885)
        ... 131 more

当我更新记录时,我越来越多地重复锁定超时超出异常.

我正在使用Java Struts 2.1 Hibernate配置.
使用的DB是MysqL.

任何人知道如何解决它?

解决方法

这里有一些建议:

>“锁定等待超时”通常发生在事务正在等待数据行更新已经被某些其他事务锁定的情况下.
大多数时候,问题出在数据库方面.可能的原因可能是不适当的表设计,大量的数据,约束等.
>请查看这个elaborate answer.

原文链接:https://www.f2er.com/java/124884.html

猜你在找的Java相关文章