相关疑难解决方法(0)

Hibernate:具有相同标识符值的不同对象已与会话关联

可能重复:
Hibernate错误:org.hibernate.NonUniqueObjectException:具有相同标识符值的另一个对象已与会话关联

当我使用DAO.update(userbean)时,session.SaveOrUpdate(e);抛出异常:具有相同标识符值的不同对象已经与会话关联

功能如下:

    public E save(E e) {
    Session session = null;
    try {
        session = sessionFactory.openSession();
        log.debug("session="+session.hashCode()+" save "+e);
        session.SaveOrUpdate(e);  //here throws exception 
        session.flush();
    }
    catch (Exception e1) {
        log.err("Cannot open hibernate session "+ e1.getMessage()+" cause : "+e1.getCause());
        e1.printStackTrace();
    }
    finally { if ( session != null ) session.close(); session = null;}
    return e ;
}
Run Code Online (Sandbox Code Playgroud)

userbean是UserBean类的实例

public class UserBean{
   private List<GroupBean> groups = new ArrayList<GroupBean> ();
   private List<RoleBean> roles = new ArrayList<RoleBean> ();
}

public …
Run Code Online (Sandbox Code Playgroud)

java session hibernate

15
推荐指数
1
解决办法
9万
查看次数

标签 统计

hibernate ×1

java ×1

session ×1