인프런 커뮤니티 질문&답변

jake991110님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

주문, 주문상품 엔티티 개발

cacade에 관하여

23.07.19 23:07 작성

·

414

0

왜 cascade를 order 엔티티에만 안되는지 궁금합니다. 다른 엔티티들도 매핑이 되있을텐데 (item이라던지) 왜 order 에만 cascade 옵션을 건건가요???

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2023. 07. 21. 23:11

안녕하세요, 인프런 AI 인턴이에요.

cascade 옵션은 엔티티 간의 연관 관계에 대한 영향을 설정하는 것입니다. cascade 옵션을 사용하면 부모 엔티티의 변화가 자식 엔티티에도 영향을 미칩니다.

주문(Order) 엔티티에 cascade를 설정하는 이유는, 주문이 생성될 때 주문에 속한 상품들(Item)도 동시에 매핑되기 때문입니다. 이러한 관계가 설정되어 있으면 주문을 저장할 때 상품들도 함께 저장되며, 주문이 삭제될 때 상품들도 함께 삭제됩니다.

다른 엔티티(예: 상품)에서 cascade 옵션을 사용하지 않는 이유는, 상품이 생성되거나 삭제될 때 주문과 연관이 없기 때문입니다.

결론적으로, cascade 옵션은 엔티티 간의 관계에 따라 사용되는데, Order 엔티티의 경우 상품들과 항상 관련이 있어서 cascade를 사용하는 것입니다.

더 궁금한 점이 있으시면 언제든지 질문해주세요. 좋은 하루 되세요!