【发布时间】:2020-09-02 10:31:29
【问题描述】:
在 Hibernate 中,我想保存一个有子对象的对象。在父对象中,我有一组其他子类。父级与子级具有@OneToMany 关系。
父母:
@Entity
public class TalentIdentitySetting {
@OneToMany(fetch = FetchType.LAZY, mappedBy = "setting", cascade = CascadeType.ALL, orphanRemoval = true)
private Set<TalentIdentitySettingPower> settingPowers;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "setting", cascade = CascadeType.ALL, orphanRemoval = true)
private Set<TalentIdentitySettingSpeciality> settingSpecialities;
}
孩子:
@Entity
public class TalentIdentitySettingPower {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "IDENTITY_SETTING_ID", nullable = false)
private TalentIdentitySetting setting;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "POWER_ID", nullable = false)
private BasePower power;
}
如何在一笔交易中同时保存父母和孩子。 这是我的问题;当孩子想要被保存时,父母还没有被保存,并说没有找到父母密钥。 其实hibernate应该先保存parent再保存child。
- 我使用了 PERSIST 级联,但仍然无法正常工作。
请帮帮我。
【问题讨论】:
-
你是如何设置和保存它的?请分享一些代码?
标签: java hibernate hibernate-onetomany