如何使用hibernate保持新创建的父实体和子实体?

时间:2015-09-24 07:22:55

标签: java spring hibernate parent-child spring-data-rest

这是实体:

@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);

只有父对象被保留。

同样在我发现parentchild时没有id。那么我应该只保留parent,然后将其设置为child并坚持child?这些操作可以通过一次parent保存操作完成吗?

0 个答案:

没有答案