目前遇到两种情况都会出现这种问题,
(1)没开启事务与提交事务,你要做的是如下
Transaction ts=session.beginTransaction();
session.update();
ts.commit();
(2)第二种是数据库错误,在你上面都完成的情况,已发送update语句,但数据库数据没发生改变,做测试会出现下面的错误:
org.hibernate.exception.LockTimeoutException: could not execute statement at org.hibernate.dialect.MySQLDialect$1.convert(MySQLDialect.java:447) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java
造成事务死锁问题,重启mysql服务器即可解决.如果有更好的解决方法会继续补充