org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
原因:经debug,发现更新对象的id在数据库中实际库中的id不对应
原来是在页面中对对象id的附值过程中 把对象中字典对象的id附给了它,附错了
<input type="hidden" name="developThirds[<s:property value='#fn.index'/>].id" value="<s:property value='#developThird.sysDictionary.id'/>"/>
正确的应该如下:
<input type="hidden" name="developThirds[<s:property value='#fn.index'/>].id" value="<s:property value='#developThird.id'/>"/>
区别 value="<s:property value='#developThird.sysDictionary.id'/>" 和 value="<s:property value='#developThird.id'/>"/
本文详细解析了在使用Hibernate框架时遇到的StaleStateException异常的原因及解决方案。异常源于页面赋值过程中将字典对象ID错误地赋给了目标对象,导致数据库更新时预期行数与实际行数不符。通过修正隐藏字段的值,确保正确引用对象ID,从而解决了该问题。

1万+

被折叠的 条评论
为什么被折叠?



