Row was updated or deleted by another transaction (or unsaved-value mapping was


最近在一个项目中用到Hibernate, 用的数据库是mysql。
在一个对象表中用到了字段"version", `version` int(11) DEFAULT NULL。 在对一条数据进行插入时手动设置了version的值, 没有问题。但是在对条数据进行更新操作时却报错了:
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect):
网上搜了一下,原来是在进行更新时是不能对这个"version"字段手动设置值的。我也试验了一下,果真如此,在不给version设值的时候,每次更新时都会进行自动对这个值加1,而不需要手动设置。其实不是很明白为什么会这样,在这里暂且记录一下,有时间在研究。

你可能感兴趣的:(Hibernate,mysql)