未在子对象-JPA中填充父Id

未在子对象-JPA中填充父Id,jpa,Jpa,我的要求是,当用子对象列表保存父对象时,它应该同时保存父对象及其子对象 问题是它并没有在子对象中设置父id,尽管父对象和子对象的记录都被添加到数据库中。以下是我的课程详情: 父类: public class View implements Serializable { private static final long serialVersionUID = -1L; private String id; private String name; private

我的要求是,当用子对象列表保存父对象时,它应该同时保存父对象及其子对象

问题是它并没有在子对象中设置父id,尽管父对象和子对象的记录都被添加到数据库中。以下是我的课程详情:

父类:

public class View implements Serializable {

    private static final long serialVersionUID = -1L;
    private  String id;
    private String name;
    private String description;

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY,mappedBy = "view")
    private List<Widget> widgets;
}
public class Widget extends implements Serializable {
    private static final long serialVersionUID = -1L;
    private  String id;
    private String title;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "view_id", referencedColumnName = "id", insertable = true, updatable = true, nullable = false)
    private View view;
}

数据库中的视图id列为空。此视图id列由类窗口小部件的字段
视图
映射。因此,如果数据库列为null,则表示正在保存的
小部件
对象的属性
视图
为null。就这么简单。确保它不是null,而是包含。。。窗口小部件的视图。这是我的有效负载,我直接将此视图对象与窗口小部件列表一起保存,并希望孩子们使用视图id自动保存。
{“name”:“view 1”,“widgets”:[{“title”:“widget 1”},{“title”:“widget 2”}]}
从浏览器发送的JSON负载与此无关。重要的是用于创建和填充JPA实体并保存它们的代码。不会自动填充Widget.view属性。你需要这样做。