如何避免锁定等待超时超出异常。

    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配置。使用的数据库是MYSQL。

任何人都知道如何解决它。

回答:

这里有一些建议:

  1. “ ”通常发生在事务正在等待要更新的数据行上,而该行已被某些其他事务锁定时。
  2. 在大多数情况下,问题出在数据库方面。可能的原因可能是表格设计不当,数据量大,约束等。
  3. 请查看这个详细的答案。

以上是 如何避免锁定等待超时超出异常。 的全部内容, 来源链接: utcz.com/qa/413541.html

回到顶部