양방향으로 설계되어 있을 때는 편의 매서드를 만들어 두는게 좋다.
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);
}