这里有一些建议:
“ ”通常发生在事务正在等待要更新的数据行上,而该行已被某些其他事务锁定时。 在大多数情况下,问题出在数据库方面。可能的原因可能是表格设计不当,数据量大,约束等。请查看这个详细的答案。解决方法java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction 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.java: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(Loader.java:259)at org.hibernate.loader.Loader.loadEntity(Loader.java:1885)... 131 more
更新记录时,我反复出现锁定超时超出异常的情况。
我正在使用Java Struts 2.1 Hibernate配置。使用的数据库是MYSQL。
任何人都知道如何解决它。