hibernate - 休眠manyToOne FK不保存
问题描述
我正在尝试使用休眠将类实例列表保存在父对象中。子实例应通过生成的父 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")
我在数据库中看到两个字段都存在,父母 ID 在 .save 上按预期生成,但在保存父母时 CustomerGroup 的 FK 字段保持为空。
我在这里做错了什么?
编辑:
在为父对象设置所有需要的值后,保存代码是 Database.class 中非常简单的一行,CustomerGroup 的列表也设置为父对象并正确保存,但不是 FK 自动生成的 id
contractRepo.save(contract);
编辑2:
如果我尝试在保存之前将父对象设置为 childeren 的 @JoinColumn。喜欢
customerGroup.setContractId(contractHolder);
我得到了似乎是一个无限循环的东西。该死的
解决方案
推荐阅读
- python - Pandas Plotting(条形图)非数值数据
- visual-studio-code - VS Code Remote - SSH:“Tmp 中的锁定文件”和“使用 Flock”之间的区别?
- c - 如何让程序在 stm32f7 中等待确切的持续时间?
- python - 使用高级索引时形状不匹配
- string - 如何在bash中使用变量将裁剪字符串参数传递给cpdf
- java - 使用 Java 中的 checkpassword-pam
- reactjs - 创建一个可以远程嵌入的 React Bundle
- odata - Azure 搜索,按数组中的字段筛选
- image-processing - cropper.js 导致图像质量不佳
- python - 将 tf.argmax 结果转换为 numpy 数组