JPA-如何避免使用合并将子实体更新为默认值

时间:2018-07-05 11:19:51

标签: java jpa

我正在尝试保存一个已经保留了一个子实体的实体。 我正在使用合并来保存实体。将保存非持久实体,但使用覆盖DB中值的默认值更新现有实体。

ClassRoom-主类:

 @OneToMany(
     orphanRemoval = true,
     fetch = FetchType.EAGER
 )
 @JoinTable(...)
 @Cascade(CascadeType.ALL)
 private List<Students> students;

在学生班上:

@OneToOne(
   orphanRemoval = true,
   fetch = FetchType.EAGER
)
@Cascade(org.hibernate.annotations.CascadeType.ALL)
private Student student;

在Student类中,有一个具有默认值的字段。实体中的现有值将使用默认值进行更新。

我正在尝试通过合并保存父实体(ClassRoom)。

在这种情况下是否合并了正确的运算符或解决此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

只需删除@Cascade(CascadeType.ALL)批注即可。