我有两张桌子:
@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);
}
谢谢。