inblog logo
|
{CODE-RYU};
    SPIRNG

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

    류재성's avatar
    류재성
    Mar 25, 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

    {CODE-RYU};

    RSS·Powered by Inblog