sm 기술 블로그

[스프링 부트] CascadeType.REMOVE 본문

스프링부트

[스프링 부트] CascadeType.REMOVE

sm_hope 2022. 7. 14. 10:43

영속성

데이터를 생성한 프로그램이 종료되어도 사라지지 않는 데이터 특성.
영속성을 갖지 않으면 데이터는 메모리에서만 존재하게 되고 프로그램이 종료되면 해당 데이터는 모두 사라지게 된다.
그래서 우리는 데이터를 파일이나 DB에 영구 저장함으로써 데이터에 영속성을 부여한다.

Cascade (영속성 전이)

부모 엔티티(우리는 question) 가 영속화 될 때 자식 엔티티(우리는 answer)도 같이 영속화 되고,
부모 엔티티가 삭제될 때 자식 엔티티도 삭제되는 등 특정 엔티티를 영속 상태로 만들때 연관된 엔티티도 함께 영속 상태로 전이되는 것

Remove

현재 우리는 remove만 했기 때문에 remove만 설명하겠다.
cascade를 설정 안해주면 자식 객체는 고아가 된다.

하지만 cascade를 통해 설정을 해준다면 고아가 되지 않고 부모 삭제시 같이 삭제가 된다.

고아가 되지 않고 같이 삭제가 되기 때문에 떠돌아 다니는 객체가 없어 메모리를 아낄 수 있다.

Comments