inblog logo
|
devJun
    Spring

    [Spring] 영속성전이, cascade (댓글이 있는 게시글 삭제 시)

    devJun's avatar
    devJun
    Aug 06, 2024
    [Spring] 영속성전이, cascade (댓글이 있는 게시글 삭제 시)
    Contents
    1. 게시글 삭제 오류2. 영속성전이 Cascade 어노테이션
     

    1. 게시글 삭제 오류

     
    notion image
     
     
     
    notion image
     
    notion image
     
    💡
    댓글이 달려있는 게시글을 삭제하려면 제약 조건 위배로 오류가 발생한다. 해결을 위해 3가지 방법이 있다. 1. 댓글 삭제 후 게시글 삭제(Cascade 어노테이션 활용)
    1. 댓글의 FK값을 null 로 변경하고 삭제
    1. 처음부터 FK 를 걸지 않는다.
    여기서는 1번 방법을 사용한다.
     
     

    2. 영속성전이 Cascade 어노테이션

     
    💡
    영속성전이(Cascade)는 특정 엔티티를 영속상태로 만들 때 연관관계에 있는 엔티티도 함께 영속상태로 만들기 위해서 사용한다. 예를들어 부모 엔티티가 영속화 될 때 자식 엔티티도 영속화 되도록 한다.
     

    2.1 Cascade 유형

     
    • PERSIST: 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장된다.
    • MERGE: 부모 엔티티의 상태를 병합할 때 자식 엔티티의 상태도 함께 병합된다.
    • REFRESH: 부모 엔티티의 상태를 새로고침할 때 자식 엔티티의 상태도 함께 새로고침된다.
    • REMOVE: 부모 엔티티를 삭제할 때 자식 엔티티도 함께 삭제된다.
    • ALL: 모든 종류의 연산(저장, 병합, 삭제, 새로고침)이 자식 엔티티에도 적용된다.
     
     

    2.2 Cascade 를 활용한 게시글 삭제

     
    notion image
     
    notion image
     
     
    notion image
     
    notion image
     
    4번 게시글이 삭제되면서 게시글의 댓글도 함께 삭제되었다.
    Share article
    Contents
    1. 게시글 삭제 오류2. 영속성전이 Cascade 어노테이션

    devJun

    RSS·Powered by Inblog