首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于hibernate的一个错误的有关问题

2013-08-11 
关于hibernate的一个异常的问题在使用hibernate进行删除操作的时候,报了一个奇怪的错误:org.springframewo

关于hibernate的一个异常的问题
在使用hibernate进行删除操作的时候,报了一个奇怪的错误:
org.springframework.orm.hibernate4.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1;

主键设置是自增的,删除操作代码如下:
session=sf.getCurrentSession();
Meeting m=new Meeting();
m.setId(id);

try{
  session.delete(m);
}catch(Exception e){
  e.printStackTrace();
  return false;
}
return true;

百度了一下,这个问题是更新时主键设置不对引起的,可是我进行的是删除操作,怎么还会出现这个异常,求解答
Hibernate 异常
[解决办法]
你的ID不能写成JAVA中的Inter这个类型,你得写成int ; 
不然它就出问题 了;

[解决办法]
像是有并发线程在起事务更新这行数据。
[解决办法]
先用load获取一个对象的实例试试?
[解决办法]
Meeting m=new Meeting();//m对象现在是transient状态
 m.setId(id);
session.delete(m);
Hibernate执行删除,一般需要从库中获取对象(load,get)而不是new一个对象,待对象变成持久状态后,再执行删除操作,这样对象就变成游离态。

热点排行