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

org.hibernate.NonUniqueObjectException: a

2011-11-14 
hibernate的问题deleteerrororg.hibernate.NonUniqueObjectException:adifferentobjectwiththesameidentif

hibernate的问题
delete   error
org.hibernate.NonUniqueObjectException:   a   different   object   with   the   same   identifier   value   was   already   associated   with   the   session:   [bean.StuBean#1]

我在做修改操作
public   boolean   updateStu(StuBean   stu)
{
Session   s=HibernateSessionFactory.getSession();
Transaction   tran=s.beginTransaction();
                String   sql= "from   StuBean   where   id= ' "+stu.getId()+ " ' ";
System.out.println(stu.getId()+stu.getName()+stu.getSex()+stu.getTel());
        Query   q=s.createQuery(sql);
List <StuBean>   l=q.list();
System.out.println(l);
if(!l.isEmpty())
{
            try   {
s.update(stu);
    tran.commit();
}   catch   (HibernateException   e)   {
//   TODO   自动生成   catch   块
System.out.println( "update   error ");
e.printStackTrace();
}

}
          else
{
              s.close();
          return   true;
}
               
s.close();
return   false;
}

上面的错误是什么意思啊

[解决办法]
session 缓存中已经存在你要更新的对象了

先清除掉对象
s.clear() ;
s.update(stu);

热点排行