mysql数据库,在数据库中把主键设置成自动增长后在SSH中调用getHibernateTemplate().update(user);更新user时会报错。数据库主键自增取消则不报错。请问为什么呢?
user.hbm.xml:
<hibernate-mapping>
<class name="pack_bean.User" table="users">
<id name="id" type="java.lang.Integer" column="id">
<generator class="native"></generator>
</id>
<property name="firstname" type="string" column="firstname" length="255"></property>
<property name="lastname" type="string" column="lastname" length="255"></property>
<property name="age" type="int" column="age"></property>
</class>
</hibernate-mapping>
class=“increament、identity、uuid。。等”试了好多都不行。
报错:
org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:654)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:377)
org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:654)
org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:650)
pack_daoImpl.UserDAOImpl.updateUser(UserDAOImpl.java:37)
pack_serviceImpl.UserServiceImpl.update(UserServiceImpl.java:41)
pack_action_user.UpdateUserAction.execute(UpdateUserAction.java:26)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
.
.
.
.
.
user.hbm.xml:
<hibernate-mapping>
<class name="pack_bean.User" table="users">
<id name="id" type="java.lang.Integer" column="id">
<generator class="native"></generator>
</id>
<property name="firstname" type="string" column="firstname" length="255"></property>
<property name="lastname" type="string" column="lastname" length="255"></property>
<property name="age" type="int" column="age"></property>
</class>
</hibernate-mapping>
class=“increament、identity、uuid。。等”试了好多都不行。
报错:
org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:654)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:377)
org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:654)
org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:650)
pack_daoImpl.UserDAOImpl.updateUser(UserDAOImpl.java:37)
pack_serviceImpl.UserServiceImpl.update(UserServiceImpl.java:41)
pack_action_user.UpdateUserAction.execute(UpdateUserAction.java:26)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
.
.
.
.
.
解决方案 »
- spring mvc页面标签问题
- 下载pdf,如何防止浏览器直接打开
- struts2中jsp页面的值怎么往action传啊。
- FCKeditor不显示的问题,请高手指教啊
- 登录验证的问题(md加密算法的问题)?
- 最近想学j2ee,谁能给提供一个好的书籍呀?
- >>>>找个能获得天气预报的webservice,谢谢<<<<
- eclipse+Weblogic怎么去整合
- 请教一个关于jdbc for sql server开发中的一个简单问题
- oracle数据库执行更新删除都没问题,但就是插入不进,是怎么回事呀,坐等!!!!!!!!!
- serviceMix 启动时 卡住了
- why,why,why? 实在搞不明白
没有要更新的对象~
若果如你所说 。数据库主键自增取消则不报错
这样的话 我怀疑跟你是否更新了 ID 的值有关