OneToMany关系不是更新而是插入

时间:2016-08-18 16:08:35

标签: mysql spring hibernate spring-mvc

假设有一个User表和一个教育表。

  

用户表包含:userId,name,age。

@OneToMany(cascade = CascadeType.ALL, mappedBy = "userId")
    private Collection<Educationdetail> educationdetailCollection;
  

教育表包含:educationId,userId,stream,   学位(流,学位组合独特)

@JoinColumn(name = "userId", referencedColumnName = "userid")
@ManyToOne(optional = false)
private Users userId;

(用户对教育=一对多的关系。)

现在我第一次添加了一个用户。 然后我添加了同一用户的教育细节。

当我要更新时,用户教育详细信息显示“给定对象具有空标识符”。

当我要合并显示唯一约束违规时。

@Override
    public int saveOrUpdateProblem(Educationdetail educationdetail) {
        try{
            sessionFactory.getCurrentSession().merge(educationdetail);
        return 1;
        }catch(Exception ex){
            sessionFactory.getCurrentSession().update(educationdetail);
        return 0;
        }   
    }

请告诉我这是怎么回事。 在调试期间,我可以看到教育的集合,但在更新细节时没有标识符的教育对象。 感谢。

0 个答案:

没有答案