Cascade란 Cascade란 영속성 전이를 의미한다. 엔티티A에 작업한 내용이 이를 참조하는 엔티티B까지 영향이 전이된다. Cascade에는 여러가지 옵션이 존재한다. ALL // 모두 적용 PERSIST // 영속 REMOVE // 삭제 MERGE // 병합 REFRESH DETACH 위 옵션 중에서 REMOVE에 대해서 알아보겠다. Cascade.REMOVE는 엔티티A를 삭제하면 이를 참조하는 엔티티B도 같이 삭제된다. ex. 부모 엔티티를 삭제하면 모든 자식 엔티티도 같이 삭제된다. 이부분은 사실 직접 경험하지 않는 이상 감이 와닿지 않는다. 나 또한 cascade란 옵션이 있구나? 에서 그쳤었는데, 이번에 무결성 문제가 발생하면서 cascade를 사용해야겠다고 다짐했다. Cascade.REMO..
엔티티 A와 B가 영속관계에 있을 때 A를 영속화시켰을 때 자동으로 B까지 영속화시키려면 CASCADE를 사용해야 합니다. 사용방법에 대해서 알아보겠습니다. CASCADE란? CASCADE란 영속성 전이라고 합니다. 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 사용합니다. JPA는 CASCADE 옵션을 제공하여 em.persist()를 사용하지 않아도 엔티티를 영속화시킬 수 있습니다. CASCADE의 옵션은 다음과 같습니다. ALL, 아래에 있는 모든 옵션 적용 PERSIST, 특정 엔티티 영속화 MERGE, 병합 REMOVE, 삭제 REFRESH DETACH 연관관계에 있는 Entity 영속화, Cascade.PERSIST A엔티티를 영속화시킬 때 연관관계에 있..