JPA:防止级联父级保存

时间:2018-11-25 08:24:23

标签: java hibernate jpa spring-data-jpa

我有如下的Entity类:

@Entity
@Table(name = "PARENT")
public class Parent {
   @OneToMany(mappedBy = "parent")
   private List<Child> childs;
}

@Entity
@Table(name = "CHILD")
public class Child {
    @ManyToOne
    @JoinColumn(name = "PARENT_ID", referencedColumnName = "ID", insertable = false, updatable = false)
    private Parent parent;
}

在我的代码中,当我尝试保存孩子时,父母也将得到保存:

Parent parent = parentRepository.findOne(id);
//Code which changes parent attributes
child.setParent(parent);
childRepository.save(child);

我还没有使用parentRepository.save(),任何级联。并且insertableupdatable也设置为false。 是因为父对象已附加到parentRepository.findOne(id);调用的上下文而发生的吗?如何避免这种情况?

PS: 我正在使用spring-boot 1.5.9,Spring Data

0 个答案:

没有答案