我正在尝试让一个父实体与其子实体一起使用,子记录上缺少父ID

时间:2019-07-05 14:10:53

标签: spring jpa

我有一个名为“服务提供者实体”的实体,该实体有两个用于支付细节的子实体,例如银行。当我在一次调用中将服务提供者实体与子实体一起保存时,子实体记录将被保存而没有父实体的ID

在父实体中,我具有以下关系:

@OneToOne(mappedBy = "serviceProvider", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Bank bank;

在子实体中,我具有以下关系

@OneToOne
@JoinColumn(name = "service_provider_id", referencedColumnName = "id", nullable=false)
private ServiceProvider serviceProvider;

我希望子实体银行中的service_provider_id字段具有父实体服务提供商记录的ID

1 个答案:

答案 0 :(得分:0)

在双向关系中,应在保存之前显式地将父对象设置为子对象:

parent.setChild(child);
child.setParent(parent);

否则,将不会设置父ID。 再见