当前位置: 代码迷 >> Java Web开发 >> hibernate Batch update returned unexpected row count from update [零]; actual row
  详细解决方案

hibernate Batch update returned unexpected row count from update [零]; actual row

热度:759   发布时间:2016-04-16 21:35:10.0
hibernate Batch update returned unexpected row count from update [0]; actual row
  我都抑郁了. 在调用getHibernateTemplate().update(obj);方法的时候报的异常 baidu到的说是因为更新的时候带了数据库自增长字段, 但是控制台打出来的sql语句 拿到数据库直接运行是没问题的。

<class name="Mail" table="mails" dynamic-insert="true" dynamic-update="true">
<id name="id">
<generator class="native" />
</id>
<property name="owner" />
<property name="recipient" />
<property name="subject" />
<property name="sender" />
<property name="filepath" />
<property name="date" />
<property name="content" />
<property name="folderType" />
</class>


------解决思路----------------------
这个异常是由于主键设置为自增长,而在我们插入记录的时候设置了ID的值导致的。 
 你排查一下哪里有设置了id
1.我是在做One-To-One级联 添加/更新 碰到的,开始还以为是我配置错误,后面经过仔细排查,发现是我在页面上写了子表ID的隐藏表单域,传到后面的时候value="" ,不是value=null,所以执行的时候hibernate判断为更新,所以报错了。我的解决方案是把ID单独传到后台,然后用代码判断是否为空,然后进行更新或者增加。
 好好排查一下
摘自http://abe.iteye.com/blog/998344
  相关解决方案