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