jpa 一对多关系不保存从属实体中所有者实体的ID

5us2dqdw  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(158)

我试图保存在postgres 2实体,* 配置 * 和 * 屏幕 配置 * 可以有许多 * 屏幕 *,然后是oneToMany,一个 * 屏幕 * 可以有一个 * 配置 *,然后是manyToOne。我使用JPA来保存这些实体。我的问题是,在 * 屏幕**表,*configuration_id * 关系没有保存,这是我的代码:

@Data
public class Configuration  {

@Id
private String id = UUID.randomUUID().toString();

@OneToMany(mappedBy = "id_configuration", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<Screen> screen;

字符串
和另一

@Table
@Entity
@Data
public class Screen {

private String status;

@JoinColumn(name = "configuration_id")
@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Configuration configuration;


当我创建一个新的 * 配置 * 时,我指示除了'id'字段之外应该创建的 * 屏幕 (它的配置id是随机创建的)
数据在
ConfigurationScreen都保存得很好,除了那个(id_configuration)字段。***Screen表中有一个configuration_id**字段,但是它总是空的,从来没有填充过。为什么会这样?我指示级联类型ALL,关系格式良好。

rqcrx0a6

rqcrx0a61#

由于教程喜欢:https://www.baeldung.com/hibernate-one-to-many
我猜你的模型中的问题是@OneToMany中的mappedBy。在你的例子中,它应该指向Map这个关系的类字段。
所以应该是:@OneToMany(mapped_by = "configuration", ...)

相关问题