乐观锁异常解决方法

项目在运行时,save  or update 数据库时,由于表中存在乐观锁机制。根据版本号判断是否能更新表中的数据。Hibernate乐观锁。


optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)


出现以上异常,由于乐观锁version没有对上,导致操作数据库失败。


解决方法:如果一个请求方法中,包含两次以上操作该对象表,那么在前面每次操作完数据库之后,需要将操作后的对象返回,然后下次操作时,保证该对象的版本号是最新的。

你可能感兴趣的:(java)