STACKJAVA

Sự khác nhau giữa Cascade REMOVE/DELETE với orphanRemoval = true

hibernate logo

Sự khác nhau giữa Cascade REMOVE/DELETE với orphanRemoval = true.

(Xem thêm: Hướng dẫn tự học Hibernate)

(Xem thêm: Code ví dụ Hibernate cascade, annotation @Cascade)

(Xem thêm: Code ví dụ Hibernate orphanRemoval = true)

Phân biệt Cascade với orphanRemoval.

Cascade và orphanRemoval là 2 thuộc tính trong trong các anotation @OneToOne, @OneToMany

Ví dụ mình có quan hệ 1-n sau:

một company có thể có nhiều employee.

Sự khác nhau giữa Cascade REMOVE/DELETE với orphanRemoval = true

@Entity
@Table(name = "company")
public class Company {

  //...

  @OneToMany(fetch = FetchType.LAZY, mappedBy = "company", cascade = {CascadeType.REMOVE}, orphanRemoval = true)
  private Set<Employee> listEmployee = new HashSet<>();

}

Lưu ý:

 

Okay, Done!

References:

https://stackoverflow.com/…cascade-and-orphan-removal-from-db