연관관계 메서드

박경희·2025년 1월 15일
0

강의 복습 및 정리

목록 보기
31/38

연관관계 (편의) 메서드

양방향으로 설계되어 있을 때는 편의 매서드를 만들어 두는게 좋다.

public static void main(String[] args) {
        Member member = new Member();
        Order order = new Order();

        member.getOrders().add(order);
        order.setMember(member);
    }

예를 들어 멤버와 오더를 생성하고 멤버가 주문을 했을 때 멤버에는 오더를, 오더에는 멤버를 각각 넣어줘야 하는데, 이 때 깜빡 하고 둘 중 한쪽을 빼먹는 상황이 생길수도 있다.
(member.getOrders().add(order); 이게 빠지거나
order.setMember(member);이걸 빼먹고 만드는 경우.)
이를 방지하기 위해 이 둘을 묶어 버리는 메서들르 만드는 것이다.

//=== 연관관계 메서드 ===//
    public void setMember(Member member) {//멤버를 세팅할 때
        this.member = member;
        member.getOrders().add(this);   //같이 넣어준다.
    }

이렇게 세팅 하면

public static void main(String[] args) {
        Member member = new Member();
        Order order = new Order();

        order.setMember(member);
    }
  • 이렇게만 코드를 작성해도 양방향으로 모두 들어가게 된다.

연관관계 편의 메서드는 어디에 만드는게 좋을까?

  • 핵심적으로 컨트롤 하는 쪽에 만들어 주는게 좋다.
  public void addOrderItem(OrderItem orderItem) {
        orderItems.add(orderItem);
        orderItem.setOrder(this);
    }

0개의 댓글