您的位置:首页 > 其它

Hibernate——org.hibernate.StaleStateException: Batch update returned unexpected row count from update

2015-12-26 12:11 537 查看
update 2.0:

我的id的类型用的是int,结果无论怎样都报错。后来将类型换为Integer,然后在更新数据之前,使用了setId方法设置了以下记录的ID,再更新就OK了。

总结:

主键最好使用Integer这样的包装类型,而不是int这样的基本类型!,这样可能会避免很多问题。

以下为1.0原文:

在使用hibernate更新数据库记录的信息时,出现org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 错误。

原因分析:

我在更新数据时,显式地使用了id的setId()方法为其指定值。但是我的实体类的id指定了主键生成策略(
@GeneratedValue(strategy = GenerationType.AUTO)
),此时不能显式使用setId()方法设置id的值。

解决方法:

不要显式地使用setId方法设置主键值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate