JavaSpring容器作为新实体插入,而不是存储在表中
我有两个,一个,另一个 这种关系是
public class FehlerfallSgVariantBE implements Serializable {
@ManyToOne
@JoinColumn(name = "FEHLERFALL_VARIANT_ID")
private FehlerfallVariantBE fehlerfallVariantBE;
}
public class FehlerfallVariantBE implements Serializable, Cloneable {
@OneToMany(mappedBy = "fehlerfallVariantBE", fetch = FetchType.LAZY,
cascade = CascadeType.MERGE)
private Collection<FehlerfallSgVariantBE> fehlerfallSgVariantBECol = new
ArrayList<FehlerfallSgVariantBE>();
}
我的方法用@Transactional注释。 在我的方法中,我保存FehlerfallSgVariantBE,而在保存时,我将FehlerfallVariantBE对象设置为
fehlerfallSgVariantBE.setFehlerfallVariantBE(fehlerfallVariantBE);
// fehlerfallVariantBE is already saved in DB, which has Id also.
insert(fehlerfallSgVariantBE);
执行此语句后,spring容器插入fehlerfallVariantBE(父实体)会导致fehlerfallVariantBE表(父实体)的PK冲突
我不明白为什么会这样?因为这将在表中保存子实体FehlerFallsVariantbe实体,并在表中设置fehlerfallVariantBE id
共 (0) 个答案