我们可以在hibernate的@onetomany表中插入多个面的重复外键吗?

kqlmhetl  于 2021-06-25  发布在  Mysql
关注(0)|答案(0)|浏览(259)

根据我的要求,我想将记录保存在@onetomany mapping创建的默认表中,问题是我想多次插入同一条记录,但hibernate不允许我这样做,并给出以下异常:
org.hibernate.ununiqueObjectException:具有相同标识符值的不同对象已与会话关联

型号

@OneToMany(fetch = FetchType.EAGER, cascade = 
 CascadeType.ALL,orphanRemoval=true)
 private List<MasterCode> msCode;

 public List<MasterCode> getMsCode() {
        return msCode;
 }

 public void setMsCode(List<MasterCode> msCode) {
        this.msCode = msCode;
 }

public void saveOrUpdate(User user) {
     Session session=sessionFactory.getCurrentSession();
     Transaction tx=session.beginTransaction();
        try {
          session.saveOrUpdate(user);
        } catch (HibernateException e) {
          tx.rollback();
          e.printStackTrace();
        } 
     tx.commit();
}

控制器

User user =new User();
 user.setName("xyz");
 user.setMsCode(selectedMsList);
``` `selectedMsList` 包含选定对象的记录 `MasterCode` 例如:[id:2,代码:“”],[id:3,代码:“yyy”],[id:3,代码:“yyy”],[id:1,代码:“”]。
我想插入用户选择此mscode的次数。
请为我提供一个解决方案,忽略这一点,并保存记录。这是非常需要的。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题