OneToMany CascadeType.ALL重复

时间:2014-06-23 13:55:25

标签: hibernate jpa one-to-many

我有两张桌子:

@Entity
@Table(name = "consultas_sql")
public class ConsultaSQL implements java.io.Serializable {
    //...

    @OneToMany(mappedBy = "consultaSQL", orphanRemoval = true, 
            cascade = CascadeType.ALL)
    private List<ParametroSQL> parametros;

    //...
}

@Entity
@Table(name = "parametros_sql")
public class ParametroSQL implements java.io.Serializable {
    //...

    @ManyToOne
    @JoinColumn(name = "consulta_id", nullable = false, 
            referencedColumnName = "id")
    private ConsultaSQL consultaSQL;

    //...
}

如果我创建一个ConsultaSQL类型的新对象并插入一个ParametroSQL类型的新对象,则此保存是成功的。

问题是当我在编辑ConsultaSQL时添加新的ParametroSQL时,它会使ParametroSQL加倍,换句话说,它会在数据库中保存重复。

我认为我的关系存在问题OneToMany。有人能帮助我吗?

抱歉我的英文。

谢谢大家


我编辑了帖子以添加要插入和更新的命令。代码下方:

public T insert(final T entity) {
    getEntityManager().persist(entity);
    return entity;
}

public T update(T entity) {
    return getEntityManager().merge(entity);
}

谢谢。

0 个答案:

没有答案