java如何使用hibernate持久化新创建的父实体和子实体?
以下是实体:
@Entity
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "parent" ,cascade = CascadeType.ALL)
@Fetch(value = FetchMode.SUBSELECT)
private Collection<Child> children;
}
@Entity
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
@ManyToOne(cascade = CascadeType.ALL)
private Parent parent;
}
为了管理这些实体,我使用spring数据(rest)。我需要保存这样的实体:
Parent parent = new Parent();
Child child = new Child()
parent.setChildren(Arrays.asList(child))
springDataRepository.save(parent);
并且只有父对象被持久化
同样,正如我所指出的,parent
和child
是在没有id
的情况下创建的。所以我应该只持续parent
,然后将其设置为child
并持续child
?这些操作可以通过一个parent
保存操作完成吗
# 1 楼答案
见此回复:https://stackoverflow.com/a/7428143
而不是:
你应使用: