영속성 전이와 고아 객체
1. 영속성 전이 (Cascade) 영속성 전이는 부모 엔티티에 특정 작업을 수행할 때 자식 엔티티에도 자동으로 같은 작업이 전파되는 기능이다. 연관관계 매핑과는 별개의 기능이고, @OneToMany / @ManyToOne 어노테이션의 cascade 속성으로 설정한다. 1 2 3 4 5 6 7 8 9 10 // cascade 없을 때 — 각각 pers...
1. 영속성 전이 (Cascade) 영속성 전이는 부모 엔티티에 특정 작업을 수행할 때 자식 엔티티에도 자동으로 같은 작업이 전파되는 기능이다. 연관관계 매핑과는 별개의 기능이고, @OneToMany / @ManyToOne 어노테이션의 cascade 속성으로 설정한다. 1 2 3 4 5 6 7 8 9 10 // cascade 없을 때 — 각각 pers...
1. @ManyToMany를 사용하면 안 되는 이유 Member와 Book은 다대다(M:N) 관계다. 한 회원이 여러 책을 빌릴 수 있고, 한 책이 여러 회원에게 빌려질 수 있다. JPA는 @ManyToMany로 이 관계를 표현할 수 있지만 실무에서는 절대 사용하지 않는다. 1 2 3 4 5 6 7 8 9 10 11 // @ManyToMany — 사용...
1. 연관관계 주인 개념 객체 세계에서 양방향 매핑은 사실 단방향 매핑 두 개다. Member가 LoanRecord를 참조하고, LoanRecord도 Member를 참조한다. 그런데 DB에서 FK는 하나다. loan_record 테이블의 member_id 컬럼 하나가 양쪽의 관계를 표현한다. 두 객체 중 어느 쪽의 참조가 변경될 때 이 FK를 갱신할지...
1. 연관관계 매핑이 필요한 이유 Phase 1에서 다뤘던 JDBC의 패러다임 불일치 중 하나가 연관관계였다. 객체는 참조로 다른 객체를 가리키지만, DB는 FK(외래 키)로 연관을 표현한다. JPA의 연관관계 매핑은 이 불일치를 해결한다. 연관관계 매핑을 이해하려면 항상 세 가지 개념을 함께 생각해야 한다. 방향: 단방향(한쪽만 참조), 양방향(서로...