如何在hibernate中的onetomany默认表中插入重复的复合键

时间:2018-01-11 09:53:27

标签: hibernate composite hibernate-onetomany

场景如下:代码表包含我的主数据,该数据独立于患者表,但每个患者都需要在其中添加多个代码。患者和代码表通过一对多的关系单向连接, 我想在我的默认的一对多连接表中插入多个重复的行,但是它给出了

  

org.hibernate.exception.ConstraintViolationException:无法执行批错误

每当找到重复代码的外键时。

患者表的样本模型:

private List<Codes> codes;

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL,orphanRemoval=true) 

public List<Codes> getCodes() {
    return codes;
}

public void setCodes(List<Codes> codes) {
    this.codes = codes;
}

Image

1 个答案:

答案 0 :(得分:0)

永远不会在模型和休眠配置中声明和映射连接表。

您必须直接在数据库中插入初始数据,如果您在单向保存一个到多个对象时正确完成映射,hibernate将在连接表中添加该行。

您能否显示保存实体的代码?