根据我的要求,我想将我的记录保存在由@onetomany映射创建的默认表中,问题是我想多次插入相同的记录但是hibernate不允许我这样做并给出以下异常:< / p>
org.hibernate.NonUniqueObjectException:具有相同标识符值的其他对象已与会话关联
@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,代码:“xxx”],[id:3,代码:“yyy”],[id:3,代码: “YYY”],[ID:1,代码: “XXX”]
我想插入用户选择此mscodes的次数。
请给我一个解决方案,忽略这个并保存记录。非常需要。