休眠manyToOne FK不保存

时间:2018-08-30 11:56:38

标签: hibernate spring-boot foreign-keys

我试图用休眠将类实例的列表保存在父对象中。子实例应通过生成的父母ID“ CONTRACTID”映射到父母。

父母:

    @Id
    @Column(name = "CONTRACTID")
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "id_Sequence")
    @SequenceGenerator(name = "id_Sequence", sequenceName = "ID_SEQ_CONTRACT")
    private Long contract_id;

然后

    @OneToMany(targetEntity = CustomerGroup.class, fetch = FetchType.LAZY, cascade = {CascadeType.ALL}, mappedBy = "contractId")
    private List<CustomerGroup> customerGroups;

孩子:

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "CONTRACTID", foreignKey=@ForeignKey(name="CONTRACTID_FK"))
    private ContractHolder contractId;

也尝试了没有foreignKey=@ForeignKey(name="CONTRACTID_FK")

我在数据库中看到两个字段都存在,在.save上按预期方式生成了父级ID,但是保存父级时CustomerGroup的FK字段保持为空。

我在这里做什么错了?

编辑:

在Database.class中保存代码非常简单 在为父对象设置所有必需的值之后,还将CustomerGroup的列表设置为父对象并正确保存,但不会自动保存FK自动生成的ID

contractRepo.save(contract);

EDIT2:

,如果我尝试在保存之前将父对象设置为childeren的@JoinColumn。喜欢

customerGroup.setContractId(contractHolder);

我得到似乎是无限循环的东西。 该死的

0 个答案:

没有答案